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(),在開發中只要把要實現的功能放在這兩個方法中就可以了