美文网首页
Activity四种启动模式

Activity四种启动模式

作者: 拿拿guardian | 来源:发表于2020-06-10 15:09 被阅读0次

standard

每次startActivity都会new一个activity实例。

singleTop(栈顶复用模式)(推送跳转界面)

可以有多个实例,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。

两个Activity名为B1,B2,B1为standard,B2为singleTop。

如果打开的顺序为B1->B2->B2,实际打开的顺序为B1->B2(后一次打开B2,实际只调用了前一个的onNewIntent方法)

如果打开的顺序为B1->B2->B1->B2,则实际打开的顺序与意图的一致,为B1->B2->B1->B2。

singleTask(栈内复用模式)(程序入口等启动页面,从不同地方跳转过去都要展示主界面的场景)

同一个Activity栈中只能有一个实例。重复启动,会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。singleTask允许别的Activity与其在一个task中共存。

singleInstance(单实例模式)(Launcher、闹钟、通话界面)

只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。
SingleInstance 模式常应用于独立栈操作的应用,如闹钟的提醒页面,当你在A应用中看视频时,闹钟响了,你点击闹钟提醒通知后进入提醒详情页面,然后点击返回就再次回到A的视频页面,这样就不会过多干扰到用户先前的操作了。

相关文章

网友评论

      本文标题:Activity四种启动模式

      本文链接:https://www.haomeiwen.com/subject/kicptktx.html