首页 > 其他 > 详细

【鹅厂修炼日记(0)】Activity四种launchMode

时间:2015-07-10 23:39:58      阅读:292      评论:0      收藏:0      [点我收藏+]

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带到前台。

【鹅厂修炼日记(0)】Activity四种launchMode

原文:http://www.cnblogs.com/hellocwh/p/4637666.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!