簡體   English   中英

如何按后退按鈕保存應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM