Activity 启动模式(Activity Launch Mode)

今天练习了一下启动模式:

对其理解又深了一步,继续加油!

首先Activity Launch Mode有四种:
standard:默认(栈里可有多个相同的实例,要多少有多少)
singleTop:栈顶(栈里可有多个相同的实例,但若是栈里的顶部,再打开不会生成新的,只打开栈顶的那个)
singleTask:独立任务(全局单一实例,栈内唯一,但可以和standard和singleTop共享栈,即使Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)也会跳到已经创建好的那个Activity)
singleInstance:独立栈实例(全局单一实例,一个App内只允许存在一个,且独享一个栈)

我们可以在清单文件(AndroidManifest.xml)中修改Activity的启动模式,方法如下

<activity 

android:name=".B_SingleTopActivity" 

android:launchMode="singleTop">

</activity>

下面简单讲解下:

首先要了解Activity栈:

a1.png

1.Standard模式

a2.png

如果我们的Activity全都是默认的Standard,点击跳转一个Activity(如果不finish()这个Activity)栈里面就多一个Activity,当用户按返回想退出,那就得一层一层的退

2.SingleTop栈顶模式

a3.png

3.SingleTask

a4.png

4.SingleInstance

a5.png

最后

代码已经分享到GitHub,需要的朋友可下载运行看看,可以看log,可以点击显示到TextView。

demo.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、概述 Activity 作为与用户交互的一个窗口,是使用非常频繁的一个基本组件。Android系统是通过Act...
    三也视界阅读 2,392评论 3 11
  • Activity四种启动模式 这部分应该是最最基础的了,但是还是有很多细节需要把握,不只是表面的知识点。 1 Ac...
    维一hw阅读 1,135评论 0 3
  • Activity 一、四种形态 运行状态: 当 Activity 处于栈的顶层,可见,并可与用户进行交互 onRe...
    任教主来也阅读 1,877评论 1 10
  • 谈起爱情总会让人着迷,不是说哪个少男不多情,哪个少女不怀春吗?在青葱年华里,总有那个几个人让你心心念念,哪怕经历过...
    快乐流浪汉甲阅读 288评论 0 2
  • 以后的每一天都要给自己一个小总结 学会自律很重要,要求别人就先从自己开始,对于女人来说 ,保养真的很重...
    FAB小钟钟阅读 143评论 0 0

友情链接更多精彩内容