zoukankan
html css js c++ java
Android的启动模式
一、Android启动模式详解
1、standard模式:
标准启动模式,也是activity的默认启动模式。在这种模式下启动的activity可以被多次实例
化,即在同一个任务中可以存在多个activity的实例,每个实例都会处理一个Intent对象。如
果Activity A的启动模式为standard,并且A已经启动,在A中再次启动Activity A,即调
用startActivity(new Intent(this,A.class)),会在A的上面再次启动一个A的实
例,即当前的桟中的状态为A-->A。
2、singleTop模式:
如果一个以singleTop模式启动的Activity的实例已经存在于任务栈的栈顶, 那么再启动这个
Activity时,不会创建新的实例,而是重用位于栈顶的那个实例, 并且会调用该实例的
onNewIntent()方法将Intent对象传递到这个实例中。 举例来说,如果A的启动模式为
singleTop,并且A的一个实例已经存在于栈顶中, 那么再调用startActivity(new
Intent(this,A.class))启动A时, 不会再次创建A的实例,而是重用原来的实例,并且调
用原来实例的onNewIntent()方法。 这时任务栈中还是这有一个A的实例。如果以singleTop
模式启动的activity的一个实例 已经存在与任务栈中,但是不在栈顶,那么它的行为和
standard模式相同,也会创建多个实例。
3、singleTask模式:
只允许在系统中有一个Activity实例。如果系统中已经有了一个实例, 持有这个实例的任务将
移动到顶部,同时intent将被通过onNewIntent()发送。 如果没有,则会创建一个新的
Activity并置放在合适的任务中。
4、singleInstance模式:
保证系统无论从哪个Task启动Activity都只会创建一个Activity实例,并将它加入新的Task栈
顶 也就是说被该实例启动的其他activity会自动运行于另一个Task中。 当再次启动该
activity的实例时,会重用已存在的任务和实例。并且会调用这个实例 的onNewIntent()方
法,将Intent实例传递到该实例中。和singleTask相同, 同一时刻在系统中只会存在一个这
样的Activity实例。
二、具体应用
1、standard模式
用法:清单中注册说明,下同
作用:页面自身的多次调用会不断创建新对象放入堆栈中而不会复用
2、singleTop模式:
作用:如果栈顶Activity为我们要新建的Activity(目标Activity),那么就不会重复创建新的Activity。
3、singleTask模式:
作用:与singleTop模式相似,只不过singleTop模式是只是针对栈顶的元素,而singleTask模式下,如果task栈内存在目标Activity实例,则:将task内的对应Activity实例之上的所有Activity弹出栈。将对应Activity置于栈顶,获得焦点。
4、singleInstance(全局唯一)模式:
作用:是我们最后的一种启动模式,也是我们最恶心的一种模式:在该模式下,我们会为目标Activity分配一个新的affinity,并创建一个新的Task栈,将目标Activity放入新的Task,并让目标Activity获得焦点。新的Task有且只有这一个Activity实例。 如果已经创建过目标Activity实例,则不会创建新的Task,而是将以前创建过的Activity唤醒(对应Task设为Foreground状态)
查看全文
相关阅读:
用户需求调研报告
返回一个二维数组中的最大联通子数组(补)
代码大全读后感(3)
代码大全读后感(2)
返回一个二维整数数组中最大联通子数组的和
冲刺第一阶段总结
大道至简读书笔记三
大道至简读书笔记二
大道至简读书笔记一
软件工程课程改进意见
原文地址:https://www.cnblogs.com/Meng2113/p/13646819.html
最新文章
团队项目冲刺第二阶段第七天
团队项目使用指南
团队项目第二阶段冲刺第六天
团队项目第二阶段冲刺第五天
团队开发之结尾 董文轩 刘若凡 刘权毅 苏康奖 刘梦辉 常晓杨
团队开发最后一周冲刺第六天 董文轩 苏康奖 刘权毅 刘梦辉 刘若凡 常晓杨
团队开发最后一周冲刺第二天 董文轩 刘权毅 苏康奖 刘若凡 刘梦辉 常晓杨
团队开发最后一周冲刺第一天 董文轩 刘权毅 刘若凡 刘梦辉 苏康奖 常晓杨
团队开发---第十二周 董文轩、刘权毅、苏康奖、刘若凡、刘梦辉、常晓杨
团队开发第二周第五天(董文轩,苏康奖,常晓杨,刘梦辉,刘权毅,刘若凡)
热门文章
团队开发第二周第三天(董文轩,苏康奖,常晓杨,刘梦辉,刘权毅,刘若凡)
团队开发第二周第二天(董文轩,苏康奖,刘权毅,常晓杨,刘梦辉,刘若凡)
团队开发第二周第一天(董文轩,苏康奖,常晓杨,刘权毅,刘梦辉,刘若凡)
团队开发(董文轩,刘权毅,常晓杨,苏康奖,刘梦辉,刘若凡)
angualrJs指令起名的bug
Sqlite数据库初步的了解
初步了解回调函数
第一阶段总结
用户体验
场景调研
Copyright © 2011-2022 走看看