我正在像这样更新小部件中的一个位图(整个小部件只有一个 ImageView)
remoteViews.setImageViewBitmap(...)
在一些罕见的情况下(在每天使用的 6 个月中发生 3 次)我得到“!!! BINDER TRANSACTION 失败!!!”。那么,只有手机重启才能解决这个问题。再次卸载并安装,没有帮助,只能重新启动。
我检查了图标的大小,它只有 56 KB,所以它符合 IPC 内存限制。当我删除 setImageViewBitmap(...) 小部件再次工作,但位图没有更新。所以问题出在位图本身。当bitmal这么小时,什么可能导致这个活页夹交易失败?
现在,我通过将图标保存到 /data 来解决这个问题,并且我只将 URI 发送到小部件。但我想知道,当我显然没有达到 IPC 内存限制时,哪里会出现问题?
编辑:我忘了提,它发生在 android 2.3.5 和 2.3.7