android activity四种启动模式

时间:2022-12-06 16:39:02

1.standard

<activity android:name=".MainActivity" android:launchMode="standard" />
这种模式下载任务栈里,每次启动这个acti都会在任务里添加这个acti,不论这个任务栈里之前有没有这个acti
  startActivity(new Intent(this,MainActivity.class));

2.singleTop

<activity android:name=".MainActivity" android:launchMode="singleTop" />
这种模式下载任务栈里,每次启动这个acti都会检查任务栈顶是否存在当前的这个acti,如果存在就不去创建;否则就去创建新的acti
  startActivity(new Intent(this,MainActivity.class));

3.singleTask

<activity android:name=".MainActivity" android:launchMode="singleTask" />
这种模式下载任务栈里,每次启动这个acti时,都会从任务栈的顶部开始往下遍历,直到遍历到此acti为止,并且之前的acti都被销毁
  startActivity(new Intent(this,MainActivity.class));

4.singleInstance

<activity android:name=".MainActivity" android:launchMode="singleInstance" />
这种模式下载任务栈里,每次启动这个acti时,都会为这个acti专门去建一个任务栈,并且这个栈只存在这一个acti
  startActivity(new Intent(this,MainActivity.class));