Activity的四种启动模式

来源:互联网 发布:大数据平台是什么 编辑:程序博客网 时间:2024/06/16 18:53

1. standard

 

        默认启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。

 

2. singleTop

 

        如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。

 

3. singleTask

 

        如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。 如果在manifest中设置activity的launchMode为SingleTask或者是SingleTop 当activity任务栈存在该实例时,我们使用startActivity打开该activity时就会调用它的onNewIntent()方法而不是调用onCreate().

 

4. singleInstance

 

        可分为两种情况:

1.如果将要启动的目标Activity不存在,系统将会创建一个全新的Task栈,在创建目标Activity实例,并将它加入到新的Task栈顶。

2.如果将要启动的目标Activity已经存在,无论它位于那个程序中、位于哪个Task栈中,系统都会将该Activity所在的Task转到前台,从而使该Activity显示出来。

在一个新栈中创建该Activity实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity的实例存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。



自我理解:

1.Standard(默认模式)

2.singleTop(栈顶复用)

3.singleTask栈中有相同Activity就好吧Activite上面的全部弹栈

4.singleInstance单一栈  每次创建一个Activite会从新创建一个栈




阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 耳朵肿痛流脓怎么办 打耳洞化脓了怎么办 打耳洞化脓怎么办 打耳洞后化脓了怎么办 打耳洞后流脓了怎么办 耳洞化脓怎么办 打耳洞化脓了怎么办? 打耳洞发炎了怎么办 打耳洞感染流脓怎么办 耳孔发炎怎么办 打耳洞肿了怎么办 耳朵扎耳洞流脓怎么办 打耳洞肿了流脓怎么办 小孩耳朵有脓水怎么办 换耳钉耳洞出血怎么办 儿童耳朵化脓怎么办 耳朵淌脓水怎么办 耳朵有脓水怎么办 耳朵发炎流水怎么办 耳发炎怎么办 耳朵发炎头痛怎么办 打耳洞长瘢痕疙瘩怎么办 耳朵发炎该怎么办 打耳洞流脓怎么办 耳朵流脓听不见怎么办 耳朵打耳洞化脓怎么办 耳朵过敏了怎么办 儿童耳朵流脓怎么办 新生儿耳朵流脓怎么办 耳朵老流水怎么办 宝宝耳朵里有脓怎么办 中耳炎流脓流血怎么办 耳朵总痒是怎么办 耳朵很痒怎么办 耳朵干燥痒怎么办 耳模破了怎么办 耳朵不好怎么办 上火耳朵痒怎么办 耳朵里痒痒怎么办 心痒难耐怎么办 脸部皮肤发痒怎么办