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