Activity生命周期、启动模式、返回栈

生命周期

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在离开后单个清除。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值