美文网首页
Activity的启动模式

Activity的启动模式

作者: ToChong | 来源:发表于2019-03-14 14:24 被阅读0次

    1.定义

    2.模式类型

    (1)标准模式:直接创建新的对象并放在顶部
    (2)栈顶复用模式:由于顶部是B,所以仍然要创建新的对象放在顶部,不过,如果是打开B Activity,那就不用创建,直接复用
    (3)栈内复用模式:直接把B移出去,底部的A成为栈顶
    (4)单例模式:创建一个新的堆栈,创建一个存进去

    3.知识储备

    4.类型的具体介绍

    (1)标准模式
    (2)栈顶复用模式
    (3)栈内复用模式
    (4)单例模式

    5.四种启动模式的区别

    (1)决定打开的任务栈
    (2)是否允许多个相同的activity实例
    (3)是否允许不同的Activity实例存在于同一个任务栈内
    (4)是否每次都生成新实例

    6.启动模式的设置

    (1)在AndroidMainifest设置

    <activity
    android:launchMode="启动模式"
    </activity>
    

    (2)通过Inetent设置标志位

    Intent intent = new Intent(ActivityA.this, ActivityB.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startAcitity(intent);
    

    (3)二者的区别
    a、二者的优先级不同:通过intent设置方式的优先级要高于manifest的设置方式;
    b、限定范围不同:manifest的设置方式无法设置FLAG_ACTIVITY_CLEAR_TOP, Intent设置方式无法设置单例模式SingleInstance

    7.总结

    相关文章

      网友评论

          本文标题:Activity的启动模式

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