Standard模式:
标准模式,Standard模式是Android的默认启动模式,无需再Manifest文件中配置,这种模式下,Activity可以有多个实例,每次启动Activity,无论任务栈中是否已经有这个Activity的实例,系统都会创建一个新的Activity实例。
SingleTop模式:
栈顶复用模式,该模式需要在Manifest文件中配置。
SingleTop模式和standard模式非常相似,主要区别就是当一个singleTop模式的Activity已经位于任务栈的栈顶,再去启动它时,不会再创建新的实例,如果不位于栈顶,就会创建新的实例。
SingleTask模式:
栈内复用模式,该模式需要在Manifest文件中配置。
SingleTask模式的Activity在同一个Task内只有一个实例,如果Activity已经位于栈顶,系统不会创建新的Activity实例,和singleTop模式一样。但Activity已经存在但不位于栈顶时,系统就会把该Activity移到栈顶,并把它上面的activity出栈。
SingleInstance模式:
单例模式,该模式需要在Manifest文件中配置。
SingleInstance模式也是栈内单例的,但和SingleTask不同,SingleTask只是任务栈内单例,其栈内是可以有多个其他Activity实例的,且若有别的任务栈,其中也可能有该Activity;而SingleInstance模式的 Activity在整个系统里只有一个实例,一切启动SingleInstance模式的Activity时,系统会创建一个新的任务栈,并且这个任务栈只有它一个Activity。