Android中finish()與destroy()的區別


   個人理解,這兩者的區別是finish()屬於執行方法,而destroy()屬於系統方法。finish()是在程序執行的過程中使用它來將對象銷燬,而destroy()方法是在系統將該activity完全銷燬(從內存中移除),釋放資源空間。在寫程序過程中,一般調用finish()。如果我們希望系統釋放資源的時候,進行某些操作,則可以重寫destroy()方法。

  以上是個人理解,希望多交流。以下的內容解釋的較爲清楚,供大家學習。



以下編寫來自:http://blog.sina.com.cn/s/blog_95c607dd0102ux1v.html

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

finish會調用到onDestroy方法,
可以在onDestroy裏打印一句話,就會發現在finish方法那也會打印這句話。。。

 

 

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()方法。






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