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的文章,可以在我的博客中查看,或者直接点下一篇。

  • 相关阅读:
    PAT B1027 打印沙漏 (20 分)
    PAT B1025 反转链表 (25 分)
    PAT B1022 D进制的A+B (20 分)
    PAT B1018 锤子剪刀布 (20 分)
    PAT B1017 A除以B (20 分)
    PAT B1015 德才论 (25 分)
    PAT B1013 数素数 (20 分)
    PAT B1010 一元多项式求导 (25 分)
    HDU 1405 The Last Practice
    HDU 1165 Eddy's research II
  • 原文地址:https://www.cnblogs.com/hellocwh/p/4637666.html
Copyright © 2011-2022 走看看