版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。
本文連接:https://blog.csdn.net/u011424451/article/details/52559404
當內存不足的時候位於後臺的應用會被系統回收掉,只是保留着任務棧,再次進入的時候會恢復它們。網絡
要注意的地方有:系統只會把ui相關的東西存起來和恢復,其餘的一些成員變量都不會管。ui
會把生命週期和建立同樣從新走一遍,這個時候得注意那些不是從onCreat這樣的生命週期方法中得到的變量狀態了,譬如那些運行的時候從網絡獲取或者是其餘模塊傳過來的,最好在onSaveInstantstate中存起來。spa
注意那些子線程,一個在activity或者fragment中長期運行的子線程,會讓你的組件得不到釋放,而且在從新建立恢復的過程當中隨着狀態的一些更改,譬如舊的fragment從activity中剝離了,持有舊fragment引用的子線程這個時候調用fragment的時候就會有getActivity()返回爲空等問題了。.net
總結:模塊間的數據傳送,最好使用系統提供的intent這樣的載體,有那些沒法隨着生命週期的建立被恢復的變量時儘可能將它經過saveInstanceBundle保存起來,在從新建立的時候能夠恢復。或者作好預防機制,好比網絡請求的數據沒有了,這個時候能夠從新加載請求
————————————————
版權聲明:本文爲CSDN博主「暴走恐龍」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/u011424451/article/details/52559404線程