以下为读书笔记:
实际项目中,我们要通过特定的需求,为每个活动指定恰当的启动模式。
Android一共有4种启动模式:standard、singleTop、singleTask、singleInstance.
通过<activity>标签的 android:launchMode 来选择启动模式。
每个应用程序都有自己的返回栈,singleInstance使用单独的返回栈供不同的应用程序访问活动。
standard:
standard是活动默认的启动模式。在standard模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶位置。对于使用standard的活动,系统不会在乎这个活动是否已经在返回栈中,每次启动都会创建活动的一个新的实例。
singleTop:
当活动的启动模式指定为singleTop,在启动活动时会发现,如果返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例。但当活动并未处于栈顶时,再启动活动还是会创建新的实例。
singleTask:
singleTask方法让系统在启动活动时会在返回栈中检查是否存在该活动的实例,如果发现已经存在该实例,则把在该活动之上的所有活动通通出栈,如果没找到存在该实例则创建一个新的活动实例。
singleInstance:
当我们的程序中有一个活动允许其他程序调用,我们运用singleInstance来实现其他程序和我们程序共享活动的实例,singleInstance使用单独的返回栈来管理此活动,不管哪个应用程序来访问此活动都共用同一个返回栈。