文章目录
生命周期
onCreate()
onStart()
onResume()
onPause()
onStop()
onDesdory()
切换到后台的生命周期
onPasue()
onStop()
从后台切换回来
onRestart()
onStart()
onResume()
从A切换到B
A:onPause()
B:onCreate()
B:onStart()
B:onResume()
A:onStop()
从B返回A
B:onPasue()
A:onRestart()
A:onStart()
A:onResume()
B:onStop()
B:onDestory()
总结:
onRestart的调用时机:
1、home到后台,再次打开时;
2、切换到其他应用或界面,返回时调用;
切换界面时onResume和onStop时机
1、onResume在其他界面的生命周期之前调用;
2、onStop在其他界面生命周期之后调用。
启动模式(launchMode)
standard 默认启动模式
每启动一个activity,创建一个到栈中;
处理非Activity类型的Content时加入FLAG_ACTIVITY_NEW_TASK flag,变为SingTask形式。
singleTop 栈顶复用模式
1、如果已有实例在栈顶则复用,不会调用onCreate()、onStart(),调用onNewIntent(),onResume();
2、否则新建。
如果自己启动自己生命周期
onPasue()
onNewIntent()
onResume()
singleTask 栈内复用
如果已有实例在栈中,复用,实例以上activity全部出栈
调用onNewIntent()
启动栈内singleTaskActivity
onNewIntent()
onStart()
onResume()
singleInstance
系统中只有一个实例,并新建一个栈。
清空返回栈
1、alwaysRetainTaskState 加在底层的activity一直保存
2、clearTaskOnLaunch 属性设置给最底层,离开再返回时,底层以上全部清除
3、finishOnTaskLaunch 除最低层外的Activity在离开后单个清除。