Activity的启动模式

2023-10-23  本文已影响0人  鳌拜的弟弟熬夜

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。

上一篇 下一篇

猜你喜欢

热点阅读