我正在更新小部件中的一个位图(整个小部件只有一个ImageView),代码如下:
在一些罕见的情况下(在每天使用 6 个月中发生了 3 次),我会遇到 "!!! FAILED BINDER TRANSACTION !!!"。然后只有电话重启才能解决这个问题。卸载并重新安装无法帮助,只有重启。
我检查了图标的大小,它只有 56 千字节,所以它符合 IPC 内存限制。当我移除 setImageViewBitmap(...) 时,小部件再次工作,但是位图没有更新。因此,问题在于位图本身。即使位图很小,什么可能导致绑定程序交易失败?
目前,我通过将图标保存到 /data 并仅发送 URI 到小部件来解决此问题。但是我想知道,在我明显没有达到 IPC 内存限制的情况下,可能出现什么问题?
编辑: 我忘记提到,它发生在 Android 2.3.5 和 2.3.7 上。
remoteViews.setImageViewBitmap(...)
在一些罕见的情况下(在每天使用 6 个月中发生了 3 次),我会遇到 "!!! FAILED BINDER TRANSACTION !!!"。然后只有电话重启才能解决这个问题。卸载并重新安装无法帮助,只有重启。
我检查了图标的大小,它只有 56 千字节,所以它符合 IPC 内存限制。当我移除 setImageViewBitmap(...) 时,小部件再次工作,但是位图没有更新。因此,问题在于位图本身。即使位图很小,什么可能导致绑定程序交易失败?
目前,我通过将图标保存到 /data 并仅发送 URI 到小部件来解决此问题。但是我想知道,在我明显没有达到 IPC 内存限制的情况下,可能出现什么问题?
编辑: 我忘记提到,它发生在 Android 2.3.5 和 2.3.7 上。