我想在應用程序關閉時保存一些小的數據結構(總共約1kB)以及用戶的偏好。這些設置僅在我的PreferenceActivity中進行了修改,但數據結構幾乎在每個活動中都進行了修改。我擴展了Application
並使所有數據結構和首選項靜態化。然後我嘗試在我的應用程序類onTerminate()
中保存到SharedPreferences中,然後在onCreate()
中再次加載它。但是,onTerminate()
的documentation指出:「它永遠不會在生產型Android設備上調用,其中的進程通過簡單地將其刪除而被刪除」。何時保存SharedPreferences?
this question的答案建議在每個活動的onStop()
方法中將SharedPreferences保存爲修改其數據的方法。這將保證數據保存在全部個案中?有沒有一種方法可以避免每次用戶在活動之間轉換時的浪費(或者我應該關心)?
你不能簡單地在你的'Application'類中做一個方法來完成所有的sharedPrefs保存,然後當你需要時從'Activity'調用它嗎? – mango
是的,我可以創建一個靜態方法,但我應該在活動生命週期內將其稱爲它? –
好吧,你說的「當你的應用程序關閉」,所以我想在'onDestroy'中可以看到用戶將看到的最後一個'Activity'。或者可能是其中一個「你確定要離開嗎?」 'Dialogs'。 – mango