Activity中finish()和onDestroy()的區別


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("界面被銷毀了");
	}
}

 


免責聲明!

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



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