finish、onDestory、System.exit的區別

Activity.finish()

Call this when your activity is done and should be closed.
在你的activity動作完成的時候,或者Activity需要關閉的時候,調用此方法。
當你調用此方法的時候,系統只是將最上面的Activity移出了棧,並沒有及時的調用onDestory()方法,其佔用的資源也沒有被及時釋放。因爲移出了棧,所以當你點擊手機上面的“back”按鍵的時候,也不會再找到這個Activity。

Activity.onDestory()

the system is temporarily destroying this instance of the activity to save space. 系統銷燬了這個Activity的實例在內存中佔據的空間。
在Activity的生命週期中,onDestory()方法是他生命的最後一步,資源空間等就被回收了。當重新進入此Activity的時候,必須重新創建,執行onCreate()方法。

System.exit(0)

這玩意是退出整個應用程序的,是針對整個Application的。將整個進程直接KO掉。
finish函數僅僅把當前Activity退出了,但是並沒有釋放他的資源。安卓系統自己決定何時從內存中釋放應用程序。當系統沒有可用內存到時候,會按照優先級,釋放部分應用。

總結

大多數時候,需要按照開發需求調用不同的方法
最後的最後,願我們共同進步!

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