Android活动中的启动模式

启动模式分为四种

1:standard:

在不进行显示指定的情况下,所有活动都会默认使用这种启动模式。

使用这种启动模式,系统不在乎活动是否应经存在返回栈中每次启用都会创建一个新的实例。

2:singleTop:

使用singleTop模式启动活动A时,当该活动存在于返回栈顶时,不会创建活动A的实例,但是当活动A或是A的实例不在返回栈顶时,系统还是会创建活动A的实例。

3:singleTask:

使用singleTask模式启动活动A时,会判断返回栈中有没有活动A的实例,如果存在活动A的实例,则会把活动A顶到栈顶,活动A上方的所有活动实例将会被顶出栈外。如果没有会在栈顶创建活动A的实例。

4:singleInstance:

使用用singleInstance模式启动活动,会启动一个新的返回栈来管理这个活动,这麽做的主要意义是,假设程序A的活动A是允许其他程序调用的,假设现在程序B想调用程序A中的活动A,就必须的得在程序B的返回栈中创建活动A的实例,显然这是不可能的,因为每个程序都会有自己得返回栈,同一活动在不同返回栈入栈时都必须创建新的实例。不可能在活动B的返回栈中创建活动A,因为B程序里根本不可能有(程序A)活动A,如果就算碰巧有和活动A一样的活动,也只能说是外观相同,但是执行时所用到的数据不可能相同,毕竟就像微信的数据库不可能给新浪微博用是一个道理,所以需要使用singleIntance创建一个只有活动A的返回栈(此时活动A里包含的数据都是来自程序A),当B想调用活动A时,用的是这个的返回栈,解决的共享问题。


启动模式选择:

可以再AndroidManifest。xml中通过标签指定android:launchMode属性来选择启动模式。来指定启动模式

(以上蓝色代码一律是本人自己脑补的理解,入果当你看到这篇博客,认为观点不对请无视!!谢谢!!)

本人属于自学,现在正在看的是郭霖前辈的<第一行代码 Android>,所写的有些会涉及书中的知识点,望见谅。如果有需要可以入手一本,个人觉得受益无穷!

Android活动中的启动模式_第1张图片


你可能感兴趣的:(学习笔记)