Activity生命周期和启动模式
1.Activity生命周期
onCreate:活动的初始化操作。
onStart:活动由可见变为不可见时调用
onResume:和用户交互时调用 活动位于返回栈栈顶,且处于运行状态
onPause:把起资源释放掉时
onStop:活动变得不可见时
onDestroy:在活动销毁之前调用
onRestart:活动重新启动
七个方法被分为3个生存期(除onRestart外)
完整生存期:onCreate和onDestroy
可见生存期:onStart和onStop
前台生存期:onResume和onPause
2.Activity启动模式
在清单文件AndroidManifest.xml中通过给<activity>标签指定android:launchMode属性来指定启动模式
【2.1】standard
默认的启动模式。每创建一个新的活动在返回栈中入栈并处于栈顶位置
【2.2】singleTop
在启动活动时发现返回栈栈顶已经是该活动,直接使用,不会创建新的
[2.3]singleTask
在启动活动时发现返回栈存在该活动,直接使用,并将之上的活动全部清除
[2.4]singleInstance
启动一个新的返回栈
3.创建活动管理类
public static List<Activity> activities=new ArrayList<>(); public static void addActivity(Activity activity){ activities.add(activity); } public static void removeActivity(Activity activity){ activities.remove(activity); } public static void fininshAll(){ for (Activity activity:activities){ if (!activity.isFinishing()){ activity.finish(); } } }