1. 程式人生 > >個人總結 onSaveInstanceState方法會在什麼時候被執行

個人總結 onSaveInstanceState方法會在什麼時候被執行

onSaveInstanceState方法會在什麼時候被執行,有這麼幾種情況:

1、當用戶按下HOME鍵時。

這是顯而易見的,系統不知道你按下HOME後要執行多少其他的程式,自然也不知道activity A是否會被銷燬,故系統會呼叫onSaveInstanceState,讓使用者有機會儲存某些非永久性的資料。以下幾種情況的分析都遵循該原則

2、長按HOME鍵,選擇執行其他的程式時。

3、按下電源按鍵(關閉螢幕顯示)時。

4、從activity A中啟動一個新的activity時。

5、螢幕方向切換時,例如從豎屏切換到橫屏時。

在螢幕切換之前,系統會銷燬activity A,在螢幕切換之後系統又會自動地建立activity A,所以onSaveInstanceState一定會被執行

總而言之,onSaveInstanceState的呼叫遵循一個重要原則,即當系統“未經你許可”時銷燬了你的activity,則onSaveInstanceState會被系統呼叫,這是系統的責任,因為它必須要提供一個機會讓你儲存你的資料(當然你不儲存那就隨便你了)。 ---------重點在於這句

在這裡插入圖片描述