活动的四种启动模式

1. standard

standard 是活动默认的启动模式,在不进行显式指定的情况下,所有活动都会自动使用这个启动模式。对于使用 standard 模式的活动,系统不会在乎活动是否已在返回栈中存在,每次启动都会创建一个新的活动实例。

2. singleTop

当活动的启动模式指定为 singleTop 时,若启动活动时发现返回栈的栈顶已是该活动,则直接使用它,不创建新的活动实例。

3. singleTask

当活动的启动模式为 singleTask 时,启动活动时会首先检查返回栈中是否存在该活动,若有则使用并将在它之上的所有活动清出返回栈。若无则创建新的活动实例。

4. singleInstance

当活动的启动模式为 singleInstance 时,启动活动时会创建一个新的返回栈来管理该活动。这样做的意义在于:假设我们的程序中有一个活动是允许其他程序调用的,如果我们想实现其他程序和我们的程序可以共享这个活动的实例,其他三种启动模式是不可行的,因为每个应用程序都会有自己的返回栈,同一个活动在不同的返回栈中入栈时必然会创建新的实例。而在 singleInstance 模式下,会有一个单独的返回栈来管理这个活动,不管是哪个应用程序来访问该活动,都共用的同一个返回栈,故解决了共享活动实例的问题。

原文地址:https://www.cnblogs.com/liushengchieh/p/7472909.html