1. 程式人生 > >activity異常情況生命週期的分析

activity異常情況生命週期的分析

當系統配置發生改變後,activity會被銷燬,其onpause,onstop,ondestory均會被呼叫,同時由於activity是異常終止的,系統會呼叫onsaveinstancestate來儲存當前activity的狀態,這個方法的呼叫時機是onstop之前,它和onpause沒有既定的時序觀念,有可能在onpause之前,也有可能在onpause之後呼叫。可以強調的是這個方法只有在被異常終止的情況下才會被呼叫。當activity被啟動後,系統會呼叫onrestoreoninstancestate,並把activity異常退出時所儲存的資料作為物件bundle引數傳遞給onrestoreinstancestate和oncreate方法。我們卡已根據oncreate和onrestoreinstancestate的引數來判斷activity是否異常退出被重建了,如果被重建了我們可以去除之前儲存的資料並恢復,在時序上來說onrestoreinstancestate在onstart之後。