【发布时间】:2011-12-14 21:22:27
【问题描述】:
我正在像这样更新小部件中的一个位图(整个小部件只有一个 ImageView)
remoteViews.setImageViewBitmap(...)
在一些罕见的情况下(在每天使用的 6 个月中发生 3 次)我得到“!!! BINDER TRANSACTION 失败!!!”。那么,只有手机重启才能解决这个问题。卸载再安装,没用,只能重启。
我检查了图标的大小,它只有 56 KB,因此它符合 IPC 内存限制。当我删除 setImageViewBitmap(...) 小部件再次工作,但位图没有更新。所以问题出在位图本身。当 bitmal 这么小的时候,什么会导致这个 binder 事务失败?
现在,我通过将图标保存到 /data 来解决这个问题,并且我只将 URI 发送到小部件。但我想知道,当我显然没有达到 IPC 内存限制时,哪里会出现问题?
编辑: 我忘了提,它发生在 android 2.3.5 和 2.3.7 上
【问题讨论】:
标签: android android-widget android-appwidget android-binder