美文网首页
四大组件_Activity_LaunchMode和Flag

四大组件_Activity_LaunchMode和Flag

作者: VelyVelyGood | 来源:发表于2017-06-20 11:28 被阅读15次

    一,1> Activity 的 LaunchMode。

    设置启动模式的位置在 AndroidManifest.xml 文件中 Activity 元素的 android:launchMode 属性。

    (1)standard:标准模式

    系统默认,每次激活Activity时都会创建Activity实例,并放入任务栈中。

    (2)singleTop:栈顶复用模式

    singleTop

    (3)singleTask:栈内复用模式

    (4)singleInstance: 单例模式

    2> TaskAffinity 任务相关性:

    (1) 这个参数标识了一个 Activity 所需要的任务栈的名字,默认情况下,所有 Activity 所需的任务栈的名字为应用的包名。我们也可以为每个 Activity 指定 taskAffinity 属性,这个属性值必须不能喝包名相同,否则就相当于没有指定。

    (2) TaskAffinity 属性主要是和 singleTask 启动模式或者allowTaskReparenting属性配对使用,在其他情况下没有意义。

    1,当 TaskAffinity 和 singleTask 启动模式配对使用时候,它是具有该模式的 Activity 的目前任务栈的名字,待启动的 Activity 会运行在名字和 TaskAffinity 相同的任务栈中。

    2,当TaskAffinity和allowTaskReparenting结合使用时,allowTaskReparenting的主要作用是activity的迁移,即从一个task迁移到另一个task,这个迁移跟activity的taskAffinity有关,必须是从一个跟该activity taskAffinity不同的task中迁移到跟它taskAffinity相同的task中。

    实际使用案例:如何优雅地从浏览器打开本地应用


    二、Activity 的 Flag

    常用标记位有以下几种:

    如何给 Activity 指定启动模式:

    相关文章

      网友评论

          本文标题:四大组件_Activity_LaunchMode和Flag

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