美文网首页Android开发
Activity 启动模式小记

Activity 启动模式小记

作者: lyzaijs | 来源:发表于2016-06-03 10:22 被阅读46次

    Activity启动模式主要处理 activity在任务栈task的启动方式,以达到在不同场景在任务需求(避免重复创建activity实例,达到复用的效果)。具体场景会在后面提及...

    Activity启动模式主要有四种standard / singleTop / singleTask /singleInstance

    standard

    默认启动模式(不需配置),一个Task中可以存在多个实例

    如下图中,Activity Atask中有多个实例

    Paste_Image.png

    singleTop

    栈顶不是该类型的Activity,创建一个新的Activity。否则,通过onNewIntent方法更新Activity。可以有多个实例,但是不允许多个相同Activity叠加。

    场景:某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。

    Paste_Image.png

    singleTask

    只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。

    场景:例如浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面。

    Paste_Image.png

    singleInstance

    只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。

    场景:例如闹铃提醒,将闹铃提醒与闹铃设置分离。

    Paste_Image.png

    相关文章

      网友评论

        本文标题:Activity 启动模式小记

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