Android四个启动模式

版权声明:个人见解,希望可以帮助大家,共同进步. https://blog.csdn.net/weixin_40783315/article/details/81407628

standard:

standard是四个启动模式中的 默认模式,可以不用写配置。在这个模式下,都会默认创建—个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity:叠加。
例如:创建一个activity将它命名为a,这个activity上边有个按钮会启动一个新的a,新创建的a会叠加在第一个a上,依次叠加.


singleTop:

singleTop可以有多个实例,但不允许多个相同的activity叠加,也就是说,如果activity在栈的时候,启动相同的activity.不会创建新的实例,而会调用其 on Newlntent方法。


例如:两个activity命名为:a  b,两个 Activity的功能完全相同,唯一不同的是—个是 standard,一个是 Single Top,如果我想打开的方式
是a b b但是实际只是a b ,因为 single Top不允许多个相同 Activity叠加


single Task:

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


例如:若我的应用程序中有三个activity_a1、activity_a2、activity_a3,三个Activity可互相启动,其中a2为 single Task模式,那么,无论我在这个程序中如何点击启动,a2只会存在一个,并且这三个activity都在同一个task里面


 singleInstance:

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

猜你喜欢

转载自blog.csdn.net/weixin_40783315/article/details/81407628