[英]How to save app on back button press
按下后退按鈕時,如何存儲應用程序的狀態。
當按下后退按鈕時,僅調用onPause()
但不調用onSaveInstanceState
,我們可以將數據存儲在outState包中。
一個答案可能是sharedPreference
但我的問題是它只會存儲int而不是intArray
就像bundle一樣。
有沒有辦法顯式調用onSaveInstanceState
?
用戶600027 ...即使你能夠調用onSaveInstanceState,捆綁也不會被持久化,我不相信它會在硬殺之后可用。 您可以編寫一個方法將int數組轉換為字符串集,然后通過調用putStringSet()來持久保存數據,然后編寫一個方法將一組字符串轉換為一個int數組。
JAL
您可以在Activity#onDestroy()
正常保存。
我認為onCreate(Bundle)
, onSaveInstanceState(Bundle)
和onRestoreInstanceState(Bundle)
背后的意圖是為你提供在后台被殺之前保存狀態的機會。 然后應用程序應該恢復並向用戶顯示,好像什么也沒發生。
在后退按鈕按下用戶在某種意義上“完成”活動。 應保存的數據量不同。 是的,在這種情況下,將狀態保存在SharedPreferences
中是個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.