1. 程式人生 > >android中常用的finish()與onDestroy()的區別

android中常用的finish()與onDestroy()的區別

大家好,2016新的一年,一切都是新的開始。學習也不能怠慢。剛剛get到新知識,以前只是一知半解,解釋不清楚。這次算是徹底明白了。

finish()方法: 用於結束一個Activity的生命週期,而onDestory()方法則是Activity的一個生命週期。其作用是在一個Activity物件被銷燬之前,Android系統會呼叫該方法,用於釋放此Activity之前所佔用的資源。finish會呼叫到onDestory方法。

大家可以測試一下。可以在onDestory裡列印一句話,執行一下程式,會發現finish方法會把那句話打印出來。

Activity.finish()方法

在你的activity動作完成的時候,或者Activity需要關閉的時候,呼叫此方法,當你呼叫此方法的時候,系統只是將最上面的Activity移出了棧,並沒有及時的呼叫onDestory()方法,其佔用的資源也沒有被及時釋放。因為移出了棧,所以當你點選手機上邊的“back” 按鍵的時候,也不會再找到這個Activity.

Acitvity.onDestory()方法

系統銷燬了這個Activity的例項在記憶體中佔據的空間。

在Activity的生命週期中,onDestory()方法是他宣告的最後一步,資源控制元件等就被回收了。當重新進入此Activity的時候,必須重新建立,執行onCrate()方法。