在我的小部件類擴展擴展AppWidgetProvider我有一些靜態最後ArrayLists包含數據。我的Widget中有一些按鈕,當按下時導致onReceive在類中被調用。我注意到有時ArrayList會在onReceive運行時丟失它們的值(爲空),但大部分時間它們都有預期的數據。Android小工具生命週期
ArrayList是否可以安全地在此上下文中使用?是否有任何小部件生命週期事件會導致列表重新實例化。我發現很難找到有關Widget生命週期事件的任何文檔。
在我的小部件類擴展擴展AppWidgetProvider我有一些靜態最後ArrayLists包含數據。我的Widget中有一些按鈕,當按下時導致onReceive在類中被調用。我注意到有時ArrayList會在onReceive運行時丟失它們的值(爲空),但大部分時間它們都有預期的數據。Android小工具生命週期
ArrayList是否可以安全地在此上下文中使用?是否有任何小部件生命週期事件會導致列表重新實例化。我發現很難找到有關Widget生命週期事件的任何文檔。
在這種情況下ArrayList安全嗎?
否。如果沒有其他應用程序正在運行,則您的進程可能會在onUpdate()
調用之間終止。
是否有任何小部件生命週期事件會導致列表重新實例化。
您的流程已終止。
我發現很難找到有關Widget生命週期事件的任何文檔。
這是因爲沒有您想要的方式的生命週期。
一個AppWidgetProvider
是一個清單登記BroadcastReceiver
。清單登記的BroadcastReceiver
只會在撥打onReceive()
時生效。 生活在該範圍之外的東西(例如靜態數據成員)將是可靠的。
請將您的信息存儲在文件或數據庫中。
如果我的進程已終止,然後由系統重新啓動 - 重新啓動進程後是否再次調用onUpdate()? – user1492955