android开发第三站---Activity和Intent--(1)4种常用Activity启动方式比较
2017-03-23 19:48
369 查看
一.Standard模式
第一种Activity启动模式称为标准模式,是Activity默认的启动模式,在不指定Activity启动模式的情况下。在Standard模式下,每当启动一个新的Activity时,就需要进入任务栈,并处于栈顶,每次使用Standard模式Activity,每次
4000
使用都需要创建新的实例,因为是标准模式,所以被应用于绝大多是应用场景中
用栈原理解释:例如如图为一个简单的按钮点击事件,点击ToFIRST按钮返回当前页面
当我点击三次按钮,意图过滤器中显示如下
发现在原来启动的基础上显示了三个不同的地址(进了三次占),
当我退出模拟器是需要点击3次才能返回主界面,此时发现过滤器
此时我们发现在过滤器中新增了三次地址(返回了三次)
缺点:在使用中,同一个页面可能被重复打开多次,使用麻烦,用户体验差
二.SingleTop模式(栈顶模式)
与standard相似,解决了activity在栈顶时需要重复创建同一个实例的问题即 解决了用户体验问题,避免已经被打开的页面被重复打开多次
特点:便于开发者进行栈顶操作,但非栈顶与standard模式无异
三.singleTask模式
当activity启动模式为singleTask模式时,每当启动该Activity时,系统首先会检查栈中是否有该activity实例,如果发现已存在Activity实例,会直接使用该实例,并将该实例之上的所有Activity出站,若没有则创建新实力。应用领域:资源开销(内存占用,CPU占用)非常大的使用该模式,例如浏览器打开已给网页(html解析器、渲染器、css解析器、Javascript执行引擎)都是由BrowseActivity处理的,为了保证打开的每一个网页都是同一个BrowseActivity处理的,也就是在整个应用状态中只允许一个实例存在。
四.singleinstance模式
singleInstance模式加载Activity时,只会创建一个Activity实例,并会使用一个全新的任务栈来装载该Activity实例。特点整给计算机操作系统中只用一个实例存在相关文章推荐
- Android入门学习笔记,主要是activity和intent,以及eclipse常用快捷方式
- Android开发 Intent启动activity的正确姿势
- Android 开发艺术探索笔记-Activity启动方式
- 【安卓开发-3】Activity的四种启动模式、Intent的显式和隐式使用方式
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发第三站---Activity和Intent--(2) 装备选择
- android应用开发实践三----Atcity 通过Intent 来启动另一个Activity来实现简易拨号
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- Android 启动activity的4种方式及打开其他应用的activity的坑
- Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。
- 【Android开发学习笔记】【第三课】Activity和Intent
- Android开发笔记----Activity再学习(生命周期、启动模式、intent-filter)
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。
- 从零开始学android开发-用Intent启动Activity的方法
- 【Android开发学习笔记】【第三课】Activity和Intent
- android开发中activity的启动方式
- android-Intent启动activity的几种方式-隐式Intent
- android开发_Intent高级学习(保存Activity状态)