基础知识篇(三)Activity启动模式

安卓是采用任务栈来管理Activity的,默认情况下多次启动同一个Activity系统会重复创建这个Activity的实例,并把每个实例依次入栈。为了避免Activity实例的重复创建、应付特殊的场景、安卓为Activity设计了启动模式。

  • standard - 标准模式
  • singleTop - 栈顶复用模式
  • singleTask - 栈内复用模式
  • singleInstance 单实例模式
  • singleInstancePerTask 大屏幕上构建并排功能的一种优化模式

启动模式

standard

标准启动模式,系统默认。每次启动一个Activity系统都会重新创建一个新的实例,不管这个Activity的实例是否已经存在。

singleTop

栈顶复用模式,如果当前Activity在栈内存在实例并切处于栈顶位置在不回创建新的Activity,会调用onNewIntent方法。否则,还是会重新创建activity的实例的。

singleTask

站内复用模式,这是一种单利模式,这种模式下,只要Activity在栈中存在就不回创建新的Activity,会调用onNewIntent方法。
若是Activity不在栈顶,会将该Activity之上的其他Activity销毁掉,并将该Activity置于栈顶位置。

singleInstance

单实例模式,前三种启动模式,都是在同一个栈中,singleInstance 是属于自己独立的一个栈中。它是单一的一个对象,独占一个栈,不会再创建,只是把它提前了。

singleInstancePerTask

大屏幕上构建并排功能的一种优化模式
应用场景:多窗口并排功能的时候可以使用,例如:Chrome 浏览器的多窗口
描述:
1)此模式可以用来构建并排功能,并希望在允许用户同时使用多个窗口与确保该功能仍然可用之间取得平衡。
2)使用词模式用户可以顺畅地在大屏幕设备上并排使用最多个窗口;
参考:大屏幕设备上的出色体验: Chrome 多任务处理提高用户工作效率

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值