Activity 启动模式(任务和返回栈)
任务指用户操作的应用中所涉及到的Activity集合。随着用户一步一步操作点击应用,这些被激活的Acitivity被按顺序排列在堆栈中,这个堆栈叫做返回栈。
一般任务的起点在桌面,当点击桌面应用的快捷图标时该会启动这个任务,并把Manifest中的主Activity作为根Activity放在堆栈底部。接下来当用户点在应用击新的按钮产生新的界面后,与该界面对应的Activity就会存放在主Activity之上,以此类推。当用户在应用中按返回按钮时,堆栈就把最上面的Activity弹出,显示下一个Activity对应的界面,以此类推,当到达最底端Activity时若再按按返回键则回到主频幕。 为了灵活的运用任务和返回栈,配了如下属性:
taskAffinity
launchMode
allowTaskReparenting
clearTaskOnLaunch
alwaysRetainTaskState
finishOnTaskLaunch
【Activity 启动模式(任务和返回栈)】下面讲 launchMode
launchMode有四种
1、stndard模式:最笨的模式,傻瓜式的新建和返回。
2、singleTop模式:稍笨的模式,在返回栈中状态为ABC的时候,继续调用的时候没有瞎到再新建一个C。
3、singletask模式:比较纠结的模式
4、singleInstance模式:傲娇的模式
推荐阅读
- Hive常见问题汇总
- 注册分销商的骄傲
- Unity和Android通信系列文章2——扩展UnityPlayerActivity
- --木木--|--木木-- 第二课作业#翼丰会(每日一淘6+1实战裂变被动引流# 6+1模式)
- 设计模式-代理模式-Proxy
- 如何启动改变
- spring|spring boot项目启动websocket
- Android系统启动之init.rc文件解析过程
- 【译】Rails|【译】Rails 5.0正式发布(Action Cable,API模式等)
- java静态代理模式