欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

activity生命周期 博客分类: android activity生命周期

程序员文章站 2024-03-11 13:28:49
...


activity生命周期
            
    
    博客分类: android activity生命周期
 代码一:单击跳转activity

public class HelloWorld extends Activity {
	private final static String TAG="HelloWorld";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.v(TAG, "onCreate");
        setContentView(R.layout.main);
        Button btnSecond=(Button)findViewById(R.id.second);
        btnSecond.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				startActivity(new Intent(HelloWorld.this,SecondActivity.class));
				finish();
			}
		});
    }
	@Override
	protected void onStart() {
		super.onStart();
		Log.v(TAG, "onStart");
	}
	@Override
	protected void onResume() {
		super.onResume();
		Log.v(TAG, "onResume");
	}
	@Override
	protected void onPause() {
		super.onPause();
		Log.v(TAG, "onPause");
	}
	@Override
	protected void onStop() {
		super.onStop();
		Log.v(TAG, "onStop");
	}
	@Override
	protected void onDestroy() {
		super.onDestroy();
		Log.v(TAG, "onDestroy");
	}
}

 

 

代码二:单击按钮退出

public class SecondActivity extends Activity {
	private final static String TAG="SecondActivity";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		Log.v(TAG, "onCreate");
		setContentView(R.layout.second);
		Button btnExit=(Button)findViewById(R.id.exit);
		btnExit.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				finish();
			}
		});
	}
	@Override
	protected void onStart() {
		super.onStart();
		Log.v(TAG, "onStart");
	}
	@Override
	protected void onResume() {
		super.onResume();
		Log.v(TAG, "onResume");
	}
	@Override
	protected void onPause() {
		super.onPause();
		Log.v(TAG, "onPause");
	}
	@Override
	protected void onStop() {
		super.onStop();
		Log.v(TAG, "onStop");
	}
	@Override
	protected void onDestroy() {
		super.onDestroy();
		Log.v(TAG, "onDestroy");
	}
	
}

        当打开一个Activity的时候,其周期方法执行顺序为:onCreate()->onStart()->onResume();从Helloworld这个Activity启动SecondActivity的时候,Android会先执行HelloWorld的onPause方法,然后依次执行SecondActivity的onCreate()->onStart()->onResume()方法;当SecondActivity呈现到屏幕上的时候再一次执行Helloworld的onStop()->onDestroy(),把HelloWorld从Activity栈中移除销毁。

 

        一个Activity在启动的时候会执行onCreate()->onStart()->onResume(),在结束(或离开)的时候会执行onPause()->onStop()->onDestroy(),这就是一个Activity的生命周期。

 

 

  1. onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。
  2. onStart():Activity在屏幕上对用户可见时调用
  3. onResume():Activity开始和用户交互的时候调用,这时该Activity是在Activity栈的顶部,我们可以在onResume里对Activity里的东西做一些调整。
  4. onPause():Activity被暂停时调用,例如,突然跳出一个新的activity,这里可以做一些清理和保存工作
  5. onStop():Activity被停止或者Activity变成不可见时调用
  6. onDestroy():Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候

 

 

  • activity生命周期
            
    
    博客分类: android activity生命周期
  • 大小: 64.6 KB