[英]Force recreation of Activity/Fragment on restore
我通過onSaveInstanceState()將應用程序狀態保存到Bundle時遇到許多問題。
現在,我需要解決我的應用在被Android關閉后恢復后崩潰的問題。
當Android強制關閉“活動/片段”(在后台)以重新獲得資源時,我是否可以說“不要在恢復時嘗試恢復狀態,而要重新創建所有內容”?
謝謝
在活動的“ onCreate”方法中,可以將空值傳遞給超級調用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(null);
//rest of your code
}
我建議您將數據保存在onPause()
方法中。 WHE你關閉App HOME
按鈕onSaveInstanceState
永遠不會被調用,數據都將丟失。
有沒有辦法說“恢復時不要嘗試恢復狀態,只需重新創建所有內容”?
是。 您可以。 您可以檢查應用程序的窗口狀態,並使用布爾標志來操縱邏輯。 我也建議您將保存\\還原數據過程分為兩種不同的方式:
對於活動,如果您想從頭開始創建活動,則只需重寫onSaveInstanceState並調用super.onSaveinstanceState並傳遞null即可。
對於Fragment,只需在Fragment的onActivityCreated方法中將setRetainInstanceState設置為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.