widget的生命周期:
当widget第一次被创建的时候
09-10 02:17:07.435: INFO/System.out(1749): onEnabled
09-10 02:17:07.435: INFO/System.out(1749): onreceive
09-10 02:17:07.435: INFO/System.out(1749): onUpdate
09-10 02:17:07.435: INFO/System.out(1749): onreceive
当widget第二次被创建
09-10 02:18:08.326: INFO/System.out(1749): onUpdate
09-10 02:18:08.326: INFO/System.out(1749): onreceive
当一个widget从桌面上移除的时候
09-10 02:18:59.207: INFO/System.out(1749): onDeleted
09-10 02:18:59.207: INFO/System.out(1749): onreceive
当最后一个widget从桌面上移除
09-10 02:19:29.167: INFO/System.out(1749): onDeleted
09-10 02:19:29.167: INFO/System.out(1749): onreceive
09-10 02:19:29.167: INFO/System.out(1749): onDisabled
09-10 02:19:29.167: INFO/System.out(1749): onreceive
onEnabled 是当桌面上第一个widget被创建的时候 调用. 初始化的操作. 初始化数据库开启服务
onDisabled 最后一个widget从桌面上移除的时候 调用. 擦屁股的操作 删除临时文件 停止服务.
onUpdate 在创建widget的时候 配置了一个xml文件 android:updatePeriodMillis="1000" 最短时间是半个小时.
一般情况下 onUpdate方法满足不了需求. 手动的更新widget里面的内容.
widget是被显示在嵌入在另一个应用程序里面执行的,一般桌面是launcher,还是腾讯桌面,360桌面,miui桌面 go桌面,awt桌面,这个桌面在调用的顺序不 一样,onreceive 跟onUpdate的顺序是不一定的,有一个原则是不会改变的第一次创建时调用onEnabled()最后一次从桌面上移除的时候用onDisabled(),在开发中只要把要实现的功能放在这两个方法中就可以了