i am updating one bitmap in widget (the whole widget is only one ImageView) like this
remoteViews.setImageViewBitmap(...)
and in some rare situations (it happend 3 times in 6 months of every day use) i get "!!! FAILED BINDER TRANSACTION !!!". then, only phone reboot solves this problem. uninstaling and installing again, does not help, only reboot.
i checked the icon's size and it is only 56 kilobytes, so it fits within the IPC memory limit. when i remove setImageViewBitmap(...) the widget works again, but the bitmap is not updated. so the problem is in the bitmap itself. what could cause this binder transaction fail when the bitmal is this small?
for now, i solved this by saving the icon to /data and i am sending only the URI to widget. but i would like to know, where can be a problem, when i am clearly not hitting the IPC memory limit?
EDIT:
i forget to mention, it happend on android 2.3.5 and also 2.3.7
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…