簡體   English   中英

恢復時強制重新創建活動/片段

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

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