Android开发_Activity组件



一、Activity的生命周期

      1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。

      2.当前Activity被其他Activity覆盖其上并处于可见状态(如被对话框或半透明的Activity覆盖)或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

      3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

      4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

      5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

      6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

      7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。


生命周期图流程图


Activity的几种状态:

         1、运行状态(Resumed或Running状态):此时该Activity位于屏幕的最上层(系统堆栈中的最顶端),并且有用户焦点。

         2、暂停状态(Paused状态):此时的Activity被另外一个Activity所覆盖,并失去了用户焦点,但该Activity仍然处于可见时,该状态就属于暂停状态,处于Paused状态的Activity依然是alive的,并没有从系统中消失(该Activity本身所有的状态及数据都还存在,也跟窗口管理程序WindowManager保持联系),处于这种状态的Activity,当系统的内存不够用时,系统会自动判断,把优先级较低的Activity删除。

         3、停止状态(Stop状态):当一个Activity完全被另外一个Activity所覆盖,处于不可见时,该Activity就处于Stop状态;但该Activity仍然保有全部的状态及数据,但是因为不再被使用者看见,所以它的画面是被隐藏起来的,当系统内存不足时,这种状态的Activity是最优先被系统考虑拿来释放内存的。


启动另外一个Activity

Intent i  = new Intent(Activity1.this,Acvitity2.class)
i.putExtra("key", "value");// 向Activity2中传递数据
// 传递数据的另外一种形式
Bundle bundel = new Bundel();
bundel.putString("key2", "value2");
i.putExtras(bundel);
		
//Activity2获取数据的了两种形式
String value = getIntent().getStringExtra("key");
Bundle bundel2 = getIntent().getExtras();
String value2 = (String) bundel2.get("key2");
		
startActivity(i);// 启动Activity2
/* 启动Activity2,并可以Activity2关闭时获取返回的数据
 * 要想获取返回数据需要重载onActivityResult()方法
 * 并在Activity2中调用setResult()方法
 */
startActivityForResult(i,0);

想要接收Activity返回的数据,需要重写下面的方法

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	super.onActivityResult(requestCode, resultCode, data);
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值