Activity中finish() onDestroy() 和System.exit()的區別

轉自:

http://blog.csdn.net/imzoer/article/details/9380807

http://blog.sina.com.cn/s/blog_95c607dd0102ux1v.html


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


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退出了,但是並沒有釋放他的資源。安卓系統自己決定何時從內存中釋放應用程序。當系統沒有可用內存到時候,會按照優先級,釋放部分應用。


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