Standard 模式:Activity 可以有多个实例,每次启动 Activity,无论任务栈中是否已经有这个Activity的实例,系统都会创建一个新的Activity实例
SingleTop模式:当一个singleTop模式的Activity已经位于任务栈的栈顶,再去启动它时,不会再创建新的实例,如果不位于栈顶,就会创建新的实例
SingleTask模式:如果Activity已经位于栈顶,系统不会创建新的Activity实例,和singleTop模式一样。但Activity已经存在但不位于栈顶时,系统就会把该Activity移到栈顶,并把它上面的activity出栈
SingleInstance模式:singleInstance 模式也是单例的,但和singleTask不同,singleTask 只是任务栈内单例,系统里是可以有多个singleTask Activity实例的,而 singleInstance Activity 在整个系统里只有一个实例,启动一singleInstanceActivity 时,系统会创建一个新的任务栈,并且这个任务栈只有他一个Activity
本文详细解析了Android中四种Activity启动模式的特点:Standard模式下,每次启动Activity都会创建新实例;SingleTop模式下,仅当Activity位于任务栈顶时才复用现有实例;SingleTask模式下,若Activity不在栈顶,则将所有上层Activity移除并复用实例;SingleInstance模式下,Activity在系统中始终为单例,启动时会在新任务栈中运行。

2471

被折叠的 条评论
为什么被折叠?



