1. 程式人生 > >onSaveInstanceState呼叫時機

onSaveInstanceState呼叫時機

當某個Activity變得容易被系統銷燬時,該Activity的onSaveInstanceState函式就會被執行,除非該Activity是被使用者主動銷燬的,如當用戶按back鍵時。

意思是說,該Activity還沒又被銷燬,而僅僅是一種可能性,這種可能性有這麼幾種情況:

1.當用戶按下Home鍵時;

2.長按Home鍵,選擇執行其他的程式時;

3.按下電源鍵(關閉螢幕顯示)時;

4.從Activity A啟動一個新的Activity時;

5.螢幕方向切換時,如從橫屏切換到豎屏;

6.電話打入等情況發生時;

一句話概括就是,不是使用者主動退出某個Activity或者跳轉到其他Activity的情況下就會觸發onSaveInstanceState.換句話說,onSaveInstanceState()的呼叫遵循一個重要原則,即當系統存在“未經你許可”時銷燬了我們的Activity,則onSaveInstanceState()會被系統呼叫,這是系統的職責,因為它必須要提供一個機會讓使用者儲存資料。

————《Android設計模式解析與實戰 》 257