首先,需要声明一下,本篇内容其实是我看书的一篇读书小节,而这本书是郭霖的《第一行代码》,也就是说,这篇博客,作者是郭霖,只不过写读书笔记实在不能算是翻译或者转载,于是乎,只能选个原创来滥竽充数了!
现在进入正题,大家都知道,一个活动一共有四种启动模式,很多初学者都对这四种模式有着苦不堪言的陌生感,当然小编我当初也是这样的,但只要功夫下的深,铁杵也能磨成针,把付诸实践了,功到自然成的。还是推荐一下这本书,尤其是初学者!
说到启动模式,我也不敢在大神们面前高谈阔论,以免贻笑大方!也就略微把自己总结的几点说出来便是了:
正题
活动的启动模式一共分为四种,它们分别是standard模式、singletop模式、singleTask模式、singleInstance模式四种,通过在AndroidManifest.xml中设置android:launchMode属性启动模式,格式是这样子的:
android:launchMode = " 四种模式之一 "
具体解释:
第一种:
standard模式: 这个模式也就是平时默认的模式,每点击一次启动活动的相关按钮都会创建一次活动。
第二种:
singleTop模式: 这个模式的活动在启动时如果发现返回栈的栈顶已经是该活动,则认为可以使用它,不会再创建新的活动实例。而当该活动并不处于栈顶时,这时再启动该Activity,还是会创建新的实例。
第三种:
singleTask模式: 每次启动一个活动的Activity时,系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在,则直接使用该实例,并把这个活动之上的所有活动统统出栈,如果没有发现就创建一个新的实例。
第四种:
singleInstance模式:指定为这个模式的活动会启用一个新的返回栈来管理这个活动,该模式可以实现其他程序和我们程序可以共享这个活动实例。