简述Android的Activity启动模式?
参考答案:
Android的Activity启动模式主要有四种,它们分别是:standard、singleTop、singleTask和singleInstance。这些模式可以在AndroidManifest.xml文件中,通过
- standard模式:这是Activity的默认启动模式。在这种模式下,每次启动一个新的Activity,系统都会在任务栈的顶部创建一个新的实例。如果Activity的实例已经存在,那么新的请求将会创建一个新的实例,并覆盖掉原来的实例。
- singleTop模式:在这种模式下,如果新的Activity已经位于任务栈的栈顶,那么系统不会创建新的Activity实例,而是通过调用已经存在的实例的onNewIntent()方法来通知它。如果Activity的实例已经存在但不是位于栈顶,那么还是会重新创建Activity的实例。
- singleTask模式:这是一种单例模式。在这种模式下,只要Activity实例在栈中存在,那么多次启动此Activity都不会重新创建此Activity的实例,多次启动时系统会调用onNewIntent方法。如果实例不存在就创建新的实例,并将其压入栈。
- singleInstance模式:这是一种极端的启动模式。它要求一个Activity在一个任务栈中只有一个实例。如果已经存在一个实例,那么任何对这个Activity的新请求都将被传递到那个已经存在的实例上。此外,该模式的Activity会启动一个新的任务栈来管理Activity实例,并且这个实例在整个系统中只有一个。
这些启动模式在开发Android应用时非常重要,它们可以帮助我们更好地管理Activity的生命周期和任务栈,从而实现更好的用户体验。