當你的程序中某一個Activity A 在運行時中,主動或被動地運行另一個新的Activity B
這個時候A會執行
Java代碼
public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putLong(“id”, 1234567890);}
B 完成以后又會來找A, 這個時候就有兩種情況,一種是A被回收,一種是沒有被回收,被回
收的A就要重新調用onCreate()方法,不同于直接啟動的是這回onCreate()里是帶上參數savedInstanceState,沒被收回的就還是onResume就好了。
savedInstanceState是一個Bundle對象,你基本上可以把他理解為系統幫你維護的一個Map對象。在onCreate()里你可能會 用到它,如果正常啟動onCreate就不會有它,所以用的時候要判斷一下是否為空。
Java代碼
long id = savedInstanceState.getLong(“id”);
}
就像官方的Notepad教程 里的情況,你正在編輯某一個note,突然被中斷,那么就把這個note的id記住,再起來的時候就可以根據這個id去把那個note取出來,程序就完整 一些。這也是看你的應用需不需要保存什么,比如你的界面就是讀取一個列表,那就不需要特殊記住什么,哦, 沒準你需要記住滾動條的位置…