後臺的activity被系統自動回收的話,怎麼在回到介面的時候恢復資料
阿新 • • 發佈:2019-01-09
Activity的狀態通常情況下系統會自動儲存的,只有當我們需要儲存額外的資料時才需要使用到這樣的功能。
通常情況:
呼叫onPause()和onStop()方法後的activity例項仍然存在於記憶體中, activity的所有資訊和狀態資料不會消失, 當activity重新回到前臺之後, 所有的改變都會得到保留。
異常情況:
但是當系統記憶體不足時, 呼叫onPause()和onStop()方法後的activity可能會被系統摧毀, 此時記憶體中就不會存有該activity的例項物件了。如果之後這個activity重新回到前臺, 之前所作的改變就會消失。
為了避免資料消失:
我們可以覆寫onSaveInstanceState()
需要注意的是:
onSaveInstanceState()方法並不是一定會被呼叫的, 因為有些場景是不需要儲存狀態資料的. 比如使用者按下BACK鍵退出activity時,