美文网首页
Android中Activity的四种启动模式

Android中Activity的四种启动模式

作者: 土豆吞噬者 | 来源:发表于2019-08-27 17:31 被阅读0次

onNewIntent()

如果启动Activity时不创建新的实例而是重用之前的实例,则会调用onNewIntent()方法。

standard

标准模式,也是Activity的默认模式,这种模式下的Activity可以被多次实例化。

singleTop

栈顶复用模式,如果Activity处于栈顶,再次启动这个Activity时,不会创建新的实例,而是重用位于栈顶的实例。

singleTask

栈内复用模式,如果Activity在任务栈中已存在,再次启动这个Activity时,会重用已存在的实例,并销毁在这个Activity栈上方的所有Activity。

singleInstance

单例模式,第一次启动Activity时会创建新的任务栈,并在该任务栈中创建Activity实例,再次启动Activity时,会重用已存在的任务栈和实例。

启动模式的设置

Activity的启动模式可以在AndroidMainifest中设置,也可以通过Intent设置,Intent方式的优先级更高,AndroidMainifest方式无法设置FLAG_ACTIVITY_CLEAR_TOP,Intent方式无法设置singleInstance。

<activity
    android:name=".MainActivity"
    android:launchMode="singleTop" />
Intent intent = new Intent (MainActivity.this,TestActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

相关文章

网友评论

      本文标题:Android中Activity的四种启动模式

      本文链接:https://www.haomeiwen.com/subject/skfyectx.html