finish/onDestroy/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的,將整個進程直接Kill掉。

  finish函數僅僅把當前Activity退出了,但是並沒有釋放他的資源。

  安卓系統自己決定何時從內存中釋放應用程序。當系統沒有可用內存到時候,會按照優先級,釋放部分應用。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM