2014-06-11 49 views

回答

2

執行後退操作時,活動和碎片將被銷燬。爲什麼要在不想再次創建活動時保存實例(例如方向更改)。

如果你想保存一些數據,或者更好的話,把它傳回給調用activity/fragment,那麼你應該使用onActivityResult機制。爲此,必須使用「start for result」方法啓動該活動,並在按下後退按鈕時將結果設置爲意圖。

+0

如果你想持久存儲導航的數據,你應該使用onResume()或onPause()。 – EpicPandaForce

+2

據我所知,有3個級別的數據持久性:savedInstanceState,SharedPreferences和SQL數據。如果有的話,我認爲我想保存的數據最適合於SharedPreferences,因爲它本質上就是它:偏好。但是,爲什麼不把所有viewState放在SharedPreferences中?有什麼用的savedInstanceState呢? – user3302602