Activity調用finish卻不立即執行onDestory

Activity.finish()

在你的activity動作完成的時候,或者Activity需要關閉的時候,調用此方法。當你調用此方法的時候,系統只是將最上面的Activity(即當前的activity)移出了棧,並沒有及時的調用onDestory()方法,其佔用的資源也沒有被及時釋放。因爲移出了棧,所以當你點擊手機上面的返回鍵時,也不會再找到這個Activity。

Activity.onDestory()

在Activity的生命週期中,onDestory()方法是他生命週期的最後一步,當activity執行到這個生命週期時,也就意味着activity將會完全釋放,資源空間等就被回收了。如果需要重新啓動這個activity,必須重新創建,執行onCreate()方法。


finish函數僅僅把當前Activity退出了,但是並沒有釋放他的資源。安卓系統回收機制自己決定何時從內存中釋放應用程序。當系統沒有可用內存到時候,會按照優先級,釋放部分應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章