一、 活动的生命周期
1. 活动状态
运行:位于返回栈栈顶
暂停:不在栈顶,但仍可见
停止:不在栈顶,完全不可见
销毁:从栈中移除
2. 活动的生存期
1) 7种回调方法与3种生存期
onCreate()~onDestory() 完整生存期
onStart()~onStop() 可见生存期
onResume()~onPause() 前台生存期
onRestart()
2) 指定活动主题
android:theme属性,对话框式主题的活动(android:theme=”@style/Theme.Appcompat.Dialog”)不会完全遮挡之前的活动。
3) 活动回收后保存数据
onSaveInstance()
3. 活动的启动模式
android:launchMode="..."
1) standard
每次启动新活动都会入栈
2) singleTop
启动活动发现已在栈顶,就直接使用,不再创建新的活动实例
3) singleTask
检查是否存在,存在就将这个活动以上活动全出栈
4) singleInstance
启用一个新栈管理活动,实现多程序共享这个活动的实例
4. 最佳实践
1) 使用getClass.getSimpleName()打印当前活动
2) 使用专门的集合管理所有活动,实现随时随地退出
3) 为每个活动添加启动方法