activity的启动模式分析
来源:互联网 发布:不同域名的区别 编辑:程序博客网 时间:2024/06/11 05:51
activity启动模式在开发中的作用
activity的启动方式有四种:standard 、singleTop、singleTask、singleInstance。
1.standard标准模式
在这个模式下,可以有多个相同的实例。每开启一个activity都会创建一个实例。
例如:有a1、a2、a3三个activity。如果你打开a1→a2→a3→a1→a2→a3。实际的栈中a1→a2→a3→a1→a2→a3其中a1在最下面(先进后出)
2.singleTop可以有多个相同实例,但是不允许叠加。
在这个模式下,如果已经开启了a1,如果紧接着再次开启a1时,会调用onNewIntent()方法。
activity第一次启动的时候执行onCreate()→onStart()→onResume等。在singleTop模式下,再次启动该activity就会执行onNewIntent()→onRestart()→onStart()→onResume.
例如:有a1、a2、a3三个activity,如果你的打开顺序a1→a2→a2,实际开启顺序a1→a2。
开启a1→a2→a3→a1→a2→a3,实际的开启顺序a1→a2→a3→a1→a2→a3。(可以发现不同的activity可以交替开启,开启同一个activity则会被覆盖。)
3.singleTask模式
在同一个任务栈中不会存在相同的实例,如果该activity不存在,就会创建一个实例。
例如:有a1、a2、a3三个activity。如果你的开启顺序是a1→a2→a3→a1,实际栈中a1。前面的activity被销毁了
如果开启顺序为a1→a2→a2。实际栈中a1→a2。
4.singleInstance模式
只有一个实例,这个实例独立运行在一个任务栈task中。这个栈只有一个activity实例。
例如:有a1、a2、a3三个activity,其中a2是singleInstance模式。
如果你的开启顺序为a1→a2→a3,a2在任务栈c。即a1开启了任务栈c,存放a2这个实例,a2有开启了任务栈b,将a3压入到任务栈b。此时任务栈x存放a1、a3.任务栈c存放a2.
以上只涉及到本应用程序,不包括其他应用程序开启本应用程序的任务栈。
- activity的启动模式分析
- activity启动模式分析
- Activity 启动模式 分析
- Activity的启动模式分析-之一
- Activity的启动模式分析-之二
- Activity的启动模式分析-之三
- 分析Activity的四种启动模式
- Activity启动模式的深入分析
- Activity的启动模式(LaunchMode)分析
- Activity的四种启动模式分析
- Android Activity的启动模式分析
- Android Activity启动模式分析
- Android Activity启动模式分析
- Android Activity启动模式分析
- Android Activity启动模式分析
- Android Activity启动模式分析
- Android Activity启动模式分析
- Adroid Activity启动模式分析
- 【2017广西邀请赛】hdu 6188 Duizi and Shunzi 贪心
- 我开通CSDN博客了,就是为了存储网上看到的资源
- OPTION 125
- access数据库和SQLite数据库速度的简单对比
- IOS UIScrollView滚动内容自适应
- activity的启动模式分析
- 数据统计
- 控制隐藏和可用属性
- js前端加密java后台解密(对称与非对称)
- Shellsploit注入器简单利用
- 【机器学习-西瓜书】八、集成学习:结合策略;多样性;总结
- 01-环境搭建
- OpenWrt的UCI系统
- OC----类的声明,实现与调用