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

  • 相关阅读:
    [leetcode]Merge Intervals
    ffmpeg错误隐藏框架分析
    [置顶] Hash查找,散列查找
    VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage
    HDU1257:最少拦截系统(LIS)
    ubuntu系统使用dnw下载程序
    ubuntu系统使用minicom终端操作说明
    uboot显示logo的方式
    在XC2440的uboot中挂载U盘,利用FAT文件系统读写U盘文件
    不知道黑片,千万别说你懂“U盘”-解读Nand Flash
  • 原文地址:https://www.cnblogs.com/hellocwh/p/4637666.html
Copyright © 2011-2022 走看看