5
當按下「後退按鈕」時,爲什麼不會調用「onSaveInstanceState」的特定原因?當我按下後退按鈕時,我認爲應該保存視圖狀態。有沒有Android開發人員記住的特殊用例,這意味着當用戶退後時不會保存視圖狀態,這實際上意味着更好?按「後退按鈕」時未調用「onSaveInstanceState」的原因是什麼?
當按下「後退按鈕」時,爲什麼不會調用「onSaveInstanceState」的特定原因?當我按下後退按鈕時,我認爲應該保存視圖狀態。有沒有Android開發人員記住的特殊用例,這意味着當用戶退後時不會保存視圖狀態,這實際上意味着更好?按「後退按鈕」時未調用「onSaveInstanceState」的原因是什麼?
執行後退操作時,活動和碎片將被銷燬。爲什麼要在不想再次創建活動時保存實例(例如方向更改)。
如果你想保存一些數據,或者更好的話,把它傳回給調用activity/fragment,那麼你應該使用onActivityResult機制。爲此,必須使用「start for result」方法啓動該活動,並在按下後退按鈕時將結果設置爲意圖。
如果你想持久存儲導航的數據,你應該使用onResume()或onPause()。 – EpicPandaForce
據我所知,有3個級別的數據持久性:savedInstanceState,SharedPreferences和SQL數據。如果有的話,我認爲我想保存的數據最適合於SharedPreferences,因爲它本質上就是它:偏好。但是,爲什麼不把所有viewState放在SharedPreferences中?有什麼用的savedInstanceState呢? – user3302602