Activity的启动模式笔记

Standard标准模式
SingleTop栈顶复用模式
SingleTask栈内复用模式
SingleInstance单例模式

1. Standard模式,活动启动的默认模式。
    每启动一个新活动,都会进入任务栈,且处于栈顶位置。
    对于标准模式来说,不管该活动是否已经存在于任务栈中,每次启动都会新创建该活动的实例。
2. SingleTop模式
    若活动处于栈顶,则直接使用,不会再新创建该活动的实例。
    若活动不处于栈顶,还是会再次创建该活动的实例。
3. SingleTask模式    
    活动在整个应用程序的上下文中只有一个实例。
    每次启动任务,都会在任务栈中检查该活动的实例是否存在,
    若存在,则直接使用该实例,并把其上所有的活动统统出栈;
    若不存在,则重新创建该活动的实例。
4. SingleInstance模式
    前提:每个应用都有自己的任务栈,来存储、管理该应用的活动的实例。
    现象:启动模式是单例模式时,会启动一个新的任务栈来管理这个活动。
    作用:共享活动实例。若想该应用程序的某个活动和其他应用共享,即其他应用可以调用该应用的活动,就要使用单例模式。
    示意:应用内有活动A(假定在任务栈S1中),单例模式启动了活动B(此时任务B则在一个新的任务栈中,假定在S2内),普通模式启动了活动C(活动C会在任务栈S1中,在活动A之上,处于栈顶)。
          一路按back键返回,出现的顺序是C->A->B
          按back键时,S1在S2之上,S1内依次为C、A,S2内为B。
          当C出栈后,A位于栈顶,显示A,再按back键,A出栈,S1为空,显示S2栈内的活动,B出现,再按back键,退到待机界面
          

猜你喜欢

转载自blog.csdn.net/lyl0530/article/details/80853029