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()方法。
注:出自網絡。感謝原作者的分享!
以下是本人實踐的類
package com.xunfang.test; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println("界面被創建了"); finish(); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.out.println("界面被銷毀了"); } }