第1章 Activity的生命周期和启动模式 1.2 Activity的启动模式
2016-02-22 16:31
323 查看
1.2 Activity的启动模式
1、启动模式种类:
(1)standsrd:标准模式;每次启动一个Activity都会重新创建一个新的实例,并进入启动它的任务栈中。(2)singleTop:栈顶复用模式;如果新Activity已经位于任务栈的栈顶,那么Activity不会被重新创建,同时它的onNewIntent方法会被回调,通过此方法的参数可获得当前请求的信息,反之同standard。
(3)singleTask:栈内复用模式;单实例模式,启动Activity后,①任务栈不存在,重新创建,再创建实例放入栈中。②任务栈存在,实例不存在,创建实例压入栈中。③都存在,把实例调至栈顶并调用它的onNewIntent方法。
注:如果栈中Activity的排列顺序为DCBA,那么如果直接启动Activity B,则栈中Activity的排列顺序为BA,D也会出栈,因为(3)具有clearTop的功能。
(4)singleInstance:单实例模式;一个栈中只有一个Activity。
2、指定启动模式的方法:
(1)AndroidManifest.xml中Activity节点中android:launchMode="singleTask"。(2)动态设置:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASKS);
3、使用adb shell dumpsys activity命令可查看任务栈的相关信息。
相关文章推荐
- Python
- outlook打不开超链接
- C# DEV PopupContainerEdit和PopupContainerControll
- Visual SVN 服务器源码备份
- java注解
- eclipse运行项目特别慢,出现Java heap space溢出
- Android-下拉刷新
- lustre spec示例文件
- 如何处理mapper数量的大小的问题
- 从0开始搭建基于Zookeeper的Spark集群
- symfony分页实现方法
- Flex
- linux快捷键的使用
- android中调用App市场对自身App评分
- Android-下拉刷新
- OUTLOOK
- python操作excel文件的方法
- Robson方法遍历二叉树
- 将json转换成struts参数
- JS模块化和闭包