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