Android四大组件之Activity的生命周期

我们可以知道Activity从创建到销毁,调用会6个方法,onCreate(),onStart(),onResume(),onPause(),onStop(),onDestory(),那么这几个方法是在什么时候调用的呢?

我们可以通过代码来试验一下:


</pre><pre name="code" class="java">public class MyActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// 当应用被创建时调用
		Log.v("life", "onCreate 当应用被创建时调用 ");
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_my);
	}
	
	@Override
	protected void onDestroy() {
		Log.v("life", "onDestroy  当应用被销毁时调用");
		super.onDestroy();
	}
	
	@Override
	protected void onStart() {
		Log.v("life", "onStart  界面可见时被调用");
		super.onStart();
	}
	
	
	@Override
	protected void onStop() {
		Log.v("life", "onStop 界面不可见的时候被调用");
		super.onStop();
	}
	
	@Override
	protected void onResume() {
		super.onResume();
		Log.v("life","onResume恢复  界面可见,并界面上控件可获取焦点(可点击)");
	}
	
	@Override
	protected void onPause() {
		super.onPause();
		Log.v("life", "onPause暂停  界面可见,界面上控件不可获取焦点(无法点击)");
	}

}



进入界面时,首先调用onCreate()-->onStart()-->onResume()

退出界面时,会先调用onPause()-->onStop()-->onDestory()

界面失去焦点时,调用onPause()-->onStop()

界面重新获得焦点时,调用onRestart()-->onStart()-->onResume()

横竖屏切换时,调用onDestory()-->onCreate()-->onStart()-->onResume()

我们可以看一下官方提供的Activity的生命周期的图:



实际上,Activity的生命生命周期分为几种:整个生命周期、可见生命周期、前台生命周期。

整个生命周期:你的Activity应该在onCreate()方法里执行设置“全局”状态(如定义布局)。并在onDestroy()方法里释放所有剩余资源
onCreate()-->onStart()-->onResume()-->运行在最前端-->onPause()-->onStop()-->onDestory()

可见生命周期:在这两个方法,你可以保持该Activity需要展示给用户的资源。
onPause()-->onStop()-->onRestart()-->onStart()-->onResume()

前台生命周期:一个Activity可以经常在前台状态发生转换—比如,当设备休眠或者弹出了个对话框。因为经常会发生转换,所以在这两个方法之间的代码应该是轻量级的,防止导致其他转换变慢使得用户需要等待。
onPause()-->onResume();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值