Acitvity的生命周期描述
- onCerate 创建视图 注意:当重启Activity的时候还会调用onRestart在onStart之前完成调用
- onStart 启动视图
- onResume 可编辑状态
- onPause 不可编辑状态
- onStop 停止
- onDestroy 销毁
1:启动一个Activity周期
onCreate
onStart
onResume
2:屏幕关闭动作
onPause
onStop
3:重新打开屏幕的动作
onRestart
onStart
onResume
4:按回退按钮的动作
onPause
onStop
onDestroy
5:跳转到一个新的页面动作
原Activity----->: onPause
新Activity----->: onCreate
新Activity----->: onStart
新Activity----->: onResume
原Activity----->: onStop
6:从新打开的Activity到原Activity
新Activity----->: onPause
原Activity----->: onRestart
原Activity----->: onStart
原Activity----->: onResume
新Activity----->: onStop
原Activity----->: onDestroy
7:从新打开的Activity直接销毁Activity
新Activity----->
: onPause
新Activity----->
: onStop
原Activity----->
: onDestroy
二:Activity四种加载模式
- standard:标准模式,一调用startActivity()方法就会产生一个新的实例;
- singleTop:如果已经有一个实例并且位于Activity栈顶时,就不产生新的实例,而是只调用Activity中的newInstance()方法。如果不位于栈顶,就会产生一个新的实例;
- singleTast:会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会产生新的实例;
- singleInstance:这个跟singleTask基本上是一样的,区别在于:在这个模式下的Activity实例所处的task中,只能有这个Activity实例,不能有其他的实例;
2.1使用方法:
- 可以在清单文件AndroidManifest.xml中设置launchMode属性;
- Intent intent = new Intent(this,.class);
两种方式:
intent.addFlags(Intent.
FLAG_ACTIVITY_CLEAR_TOP
);
intent.setFlags(Intent.
FLAG_ACTIVITY_CLEAR_TOP
);