Android 後臺的Activity被系統回收怎麼辦

  當你的程序中某一個Activity A 在運行時中,主動或被動地運行另外一個新的Activity B .這個時候A會執行java

public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putLong("id", 1234567890);
}
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putLong("id", 1234567890);
}

    B完成之後又會來找A, 這個時候就有兩種狀況,一種是A被回收,一種是沒有被回收,被回收的A就要從新調用onCreate()方法,不一樣於直接啓動的是這回onCreate()裏是帶上參數savedInstanceState,沒被收回的就仍是onResume就行了。spa

 savedInstanceState是一個Bundle對象,你基本上能夠把他理解爲系統幫你維護的一個Map對象。在onCreate()裏你可能會用到它,若是正常啓動onCreate就不會有它,因此用的時候要判斷一下是否爲空。code

相關文章
相關標籤/搜索