原文地址:http://blog.csdn.net/wcs542882916
在写collection widget的时候,如果widget里面需要监听数据库的变化来更新界面,这个情况下如果使用一键清理功能后界面可能不更新。
这个问题点主要是在一键清理和广播。
总结: 实践+猜测
一键清理:粗略点说下,就是杀掉了应用的整个进程,所有相关资源都清理掉,包括四大组件,组件里面定义的静态成员变量。
广播:一键清理后,广播的资源也都被清理掉了,但是如果广播是在xml里注册的,任然能接收广播,
这个原因好像是在xml里注册由android系统来管理,不管你的应用是否被清理掉。每次接收广播都会创建广播的构造方法。但是成员变量都已清空了,
这个就是widget不更新的部分原因了。解决办法就是在数据库更新的地方发一个自己的广播,然后接收广播重新创建所有需要的变量,并且手动更新界面。
如果有更好的方法请指教留言。
一键清理的机制没看过,所以不懂,不敢多说,其他也是似懂非懂的,自己去验证吧哈哈。