«

Activity的启动模式(LunchMode)

时间:2024-3-2 17:27     作者:韩俊     分类: Android


Activity有四中启动模式,通过与Intent协同合作来达到想要的效果:

四中启动模式分别是:standard, singleTop, singleTask, singleInstance.

其中又可以分为两类:

“standard”和“singleTop”是一类:可以被实例化多次。这些实例可以属于任何task并可以位于activity栈的任何位置。

“singleTask”和“singleInstance”是一类:只能启动一个task。它们通常在activity栈的根(root)上,设备中同一时间只保持唯一的一个activity实例---只有一个这样的栈。


standard:每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈;

singleTop:如果某个Activity自己激活自己,即任务栈栈顶就是该Activity,则不需要创建,其余情况都要创建Activity实例;

singleTask:如果要激活的那个Activity在任务栈中存在该实例,则不需要创建,只需要把此Activity放入栈顶,并把该Activity以上的Activity实例都pop;

singleInstance:如果应用1的任务栈中创建了MainActivity实例,如果应用2也要激活MainActivity,则不需要创建,两应用共享该Activity实例;

标签: android

热门推荐