Activity的四个启动模式

2018-08-07  本文已影响0人  小小的开发团体

Android 四个启动模式:

1、standard:默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同     Activity叠加。

    例如:一个命名为A1的Activity,上面有一个按钮会启动一个新的A1,叠加在第一个A1上,依次叠加;

2、singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用       其onNewIntent方法。

    例如:两个Activity命名为:A1,A2,两个Activity的功能完全相同,唯一不同的是一个是standard,一个是singleTop,如果我想打开的方式

是 A1A2A2,但是实际只是A1A2,因为singleTop不允许多个相同Activity叠加。

3、singleTask:只有一个实例在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上         的其它Activity destory掉并调用它的onNewIntent方法,如果是在别的应用程序中启动它,则会新建一个task,并在该task中启动这个         Activity,singleTask允许别的Activity与其在一个task中共存;

      例如:若我的应用程序中有三个Activity,C1,C2,C3,三个Activity可互相启动,其中C2为singleTask模式,那么,无论我在这个程序中如何                                点击启动,C2只会存在一个,并且这三个Activity都在同一个task里面;

4、singleInstance:只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。

上一篇下一篇

猜你喜欢

热点阅读