学习笔记
来源:互联网 发布:绵阳广播电视网络 编辑:程序博客网 时间:2024/06/05 01:01
摘自http://blog.csdn.net/guolin_blog/article/details/41087993;
即使有很多个Activity分别都是来自于不同应用程序的,Android系统仍然可以将它们无缝地结合到一起,之所以能实现这一点,就是因为这些Activity都是存在于一个相同的任务(Task)当中的(很多分享功能分享完成后可以一步一步back到原App中去,就是因为所有的这些Activity属于同一个任务,栈)。
Activity的启动方式:
1.在xml里面:Standard. 标准、默认启动方式。不论Activity是否存在实例,是否在栈顶,都new一个。
SingleTop. 如果该Activity在栈顶,则不会new 实例。而是直接调用Activity的onNewIntent();方法。FLAG_ACTIVITY_SINGLE_TOP
SingleTask. 在启动其他应用程序时,如果该Activity存在,则直接调用onNewIntent(),否则则new一个该Activity的实例,并将该Activity放入新的任务(管理栈)中。因为"singleTask"模式在默认情况下只有启动其它程序的Activity才会创建一个新的任务,启动自己程序中的Activity还是会使用相同的任务(这是因为同一个应用的taskAffinity默认都是包名,是相同的,可以指定taskAffinity不同,则不会在同一个任务)。 在启动其他应用程序时和intent的FLAG_ACTIVITY_NEW_TASK类似
SingleInstance. 该种方式生成的Activity只会存在单独、专属它的Activity管理栈中。
FLAG_ACTIVITY_CLEAR_TOP 如果不结合其他的flag来使用则会关闭被启动Activity在栈中上层所有Activity。(如ABCD、通过该flag再启动B的话,则CD被关掉,剩下AB)。如果加上FLAG_ACTIVITY_SINGLE_TOP 标签,或者B在xml中设置了任意配置,则会启动onNewIntent();配合FLAG_ACTIVITY_NEW_TASK一起使用可以将后台任务切换到前台。如通过通知栏启动Activity时。
- 学习笔记?
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- uva 10570 meeting with aliens
- float double的精度以及与0比较
- Java学习笔记(十二):泛型的使用
- hdu 2066 一个人的旅行
- hdu 1875 畅通工程再续 (最小生成树)
- 学习笔记
- printf 打印全局和局部变量
- 实时获取浏览器的地址栏的网页地址
- POJ 1183 反正切函数的应用
- js的2种继承方式详解
- 树莓派2model B 通过蓝牙实现A2DP协议连接手机播放音乐
- cocos2dx 记录
- UITableView之上拉刷新
- 小心别让圆角成了你列表的帧数杀手 --关于设置圆角导致卡顿的深层原因解析