美文网首页Android关键技术点Android知识Android开发
android基础知识--Activity四种启动模式

android基础知识--Activity四种启动模式

作者: IT枫 | 来源:发表于2017-03-17 16:01 被阅读93次

    Activity四种启动模式

    • 1.standard
    • 2.singleTop
    • 3.singleTask
    • 4.singleInstance

    1.standard系统默认的启动模式

    每次启动ActivityB(standard)都会创建一个新的ActivityB实例。并且所有的Activity实例都在当前程序所在的Task中。


    ActivityB可存在多个实例并且可以重叠存在

    启动Activity方式

    // 显示启动
    Intent intent = new Intent(ActivityA.this, ActivityB.class);
    startActivity(intent);
    //隐式启动
    Intent intent = new Intent();
    intent.setAction("action");
    startActivity(intent);
    

    2.singleTop启动模式

    该启动模式使程序Task中可存在多个ActivityB实例。但ActivityB不会存在重叠的实例,顶层如存在实例ActivityB,如果再启动ActivityB,不会创建新的实例,而是直接调用ActivityB中的onNewIntent(Intent intent)方法。


    ActivityB可以存在多个实例但不能重叠存在

    3.singleTask启动模式

    程序Task中不可存在多个ActivityB实例。如Task中已经存在ActivityB实例,再次启动ActivityB,则系统会把Task中ActivityB实例之上所有Activity实例销毁,然后调用ActivityB实例的onNewIntent(Intent intent)方法。


    ActivityB不会存在相同的实例Activity

    4.singleInstance启动模式

    ActivityA启动ActivityB(singleInstance),系统会为ActivityB单独开启一个Task并且把ActivityB实例放入Task中,如ActivityB跳转到ActivityC,则系统会把ActivityC实例压入程序所在的Task。


    ActivityB实例单独占一个Task并且只存在ActivityB一个实例

    相关文章

      网友评论

        本文标题:android基础知识--Activity四种启动模式

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