簡體   English   中英

我應該在onCreate還是onRestoreInstanceState中恢復savedinstancestate?

[英]Should I restore savedinstancestate in onCreate or in onRestoreInstanceState?

我有一個活動開始一些其他活動的結果,所以當結果返回時,活動可能已經或可能沒有被銷毀和重新創建。

我重寫了onSaveInstanceState,以便添加需要保留和恢復的數據。

當活動被銷毀並重新創建時,onCreate將傳遞savedInstanceState包; 而且調用onRestoreInstanceState()並傳遞相同的bundle。

那么我應該在哪里放置從包中提取數據的代碼並恢復狀態? 在onCreate或onRestoreInstanceState中? 保證后者始終被稱為?

是否有可能在不調用onCreate的情況下調用onRestoreInstanceState? (例如,如果活動停止並重新啟動但未被銷毀和重新創建)?

“而不是在onCreate()期間恢復狀態,你可以選擇實現onRestoreInstanceState(),系統在onStart()方法之后調用。只有當存在要恢復的保存狀態時,系統才會調用onRestoreInstanceState(),所以你不要需要檢查Bundle是否為NULL“

以下鏈接清楚地解釋了重啟活動。

Android指南

Android在onStart()和onResume()生命周期方法之間調用onRestoreInstanceState()方法。因此,為了恢復活動狀態,只需實現onRestoreInstanceState()方法恢復活動狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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