活动(activity)的四种启动模式

1.    standard模式android

       它是活动默认的启动模式,在不进行显示制定的状况下,全部活动都会自动使用这种启动模式。每次经过此模式来启动activity时,android总会为目标activity启动一个新的实例。spa

2.    singleTop模式ip

       它和standard模式有点相似,可是又一点是不一样的:此模式下当将要被启动的activity已经位于Task栈顶时,系统不会从新建立目标activity实例,而是复用已有的activity实例。it

       若是将要被启动的activity没有位于Task栈顶时,此时系统会从新建立目标activity的实例,并将它加载到Task栈顶上。    
程序

3.    singleTask模式activity

       使用这种加载模式的activity在同一个Task内只有一个实例,当系统采用此singleTask模式启动activity时,能够分为三种状况:
vi

       <1>    若是将要启动的activity不存在,系统将会建立目标activity实例,并将它加入到Task栈顶。ps

       <2>    若是将要启动的activity已经位于Task栈顶,此时与singleTop模式的行为相同。实例

       <3>    若是将要启动的activity已经存在,但没有位于Task栈顶,系统将会把位于该activity上面的全部activity移出Task栈,从而使得目标activity转入栈顶。系统

4.    singleInstance模式

       此加载模式下,不管从哪一个Task中启动目标activity,只会建立一个目标activity实例,并会使用一个全新的Task栈来装载该activity实例。当系统采用singleInstance模式启动activity时,能够分为两种状况:

       <1>    若是将要启动的activity不存在,系统会先建立一个全新的Task、再建立目标activity的实例,并将它加入新的Task的栈顶。

       <2>    若是将要启动的activity已经存在,不管它位于哪一个应用程序中,不管它位于哪一个Task中,系统将会把该activity所在的Task转到前台,从而使用该activity显示出来。

       tips:须要指出的是,采用singleInstance模式加载activity老是位于Task栈顶,采用singleInstance模式加载activity所在Task只包含该activity。

相关文章
相关标签/搜索