zoukankan      html  css  js  c++  java
  • Activity四种launchMode

    更多内容在这里查看

    https://ahangchen.gitbooks.io/windy-afternoon/content/

    总共有四篇关于Activity,task,launchMode的文章,可以在我的博客中查看,或者在文章底部点下一篇。

    1.Standard

    默认模式,多次实例化,按序入栈出栈。

    2.SingleTop

    栈顶Activity不会被重复创建,会触发onNewIntent()事件,不在栈顶时可以多次实例化。

    3.SingleTask

    Developer.android.com的说法:

    (1)新建一个task,创建一个Activity;

    (2)如果存在一个不同的task包含这个Activity的实例,会切换到这个task,将这个Activity以上的Activity弹出,并且触发这个Activity的onNewIntent事件;

    (2)描述了不会新建task的情况,但是:

    实验发现2前提条件,有一点问题:

    (1)“包含这个Activity的实例”不是必要条件:

    如果没有一个task包含这个Activity的实例,但是,存在一个task包含与这个Activity属于同一个App的其他Activity的实例,这时不会新建task,而是切换到这个task中,在这个task中新建这个Activity。

    (2) “不同的task”不是必要条件:

    如果不存在一个不同的task包含这个Activity的实例,但是在当前的task中本身就存在这个Activity实例,不会新建task,而会在当前task中,将这个Activity以上的Activity弹出,并且触发这个Activity的onNewIntent事件;

    4.SingleInstance

    (1)如果没有一个task包含这个Activity的实例,会新建一个task,创建一个Activity;

    (2)如果存在一个task包含这个Activity的实例,会切换到这个task,并且触发这个Activity的onNewIntent事件,Activity独占task。没有描述弹出其他Activity的必要。

    (3)在包含这个Activity的task中,仅包含这个一个Activity,如果需要打开新的Activity,必须在其他task中打开,如果新建了task,task的根activity为新打开的这个Activity,之后打开这个Activity时,都不会新建Activity,只会将这个task带到前台。

    总共有四篇关于Activity,task,launchMode的文章,可以在我的博客中查看,或者直接点下一篇。

  • 相关阅读:
    运维自动化轻量级工具pssh
    Linux下的tar压缩解压缩命令详解
    [shell] while read line 与for循环的区别
    Linux sed命令
    [转]linux awk命令详解
    Centos7上部署openstack ocata配置详解
    自动化运维工具——puppet详解(一)
    OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备)
    shell中的重定向(输入输出)
    vim批量注释和反注释快捷键
  • 原文地址:https://www.cnblogs.com/hellocwh/p/4637666.html
Copyright © 2011-2022 走看看