1. 有哪几种类型?分别有什么用?
standard,创建一个新的Activity。
singleTop,栈顶不是该类型的Activity,创建一个新的Activity。否则,onNewIntent。
singleTask,回退栈中没有该类型的Activity,创建Activity,否则,onNewIntent+ClearTop。
singleInstance,回退栈中,只有这一个Activity,没有其他Activity。
2. 应用场景如何?
singleTop适合接收通知启动的内容显示页面。
例如,某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。
singleTask适合作为程序入口点。
例如浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面。
singleInstance适合需要与程序分离开的页面。
例如闹铃提醒,将闹铃提醒与闹铃设置分离。
singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。
 
3. TaskAffinity对LaunchMode的影响
不指定TaskAffinity,singleTask会在默认的task 中执行,这个符合预期,一般也都是这么用的,不需要指定。
不指定TaskAffinity,singleInstance之后启动的页面不能放倒singleInstance所在那个task中,会放倒默认的task中,不过一般singleInstance也不适合作为程序中间页。
这篇文章对taskaffinity的说明还不错,这个见过,不过自己还真没用过。

Activity的LaunchMode应用场景思考的更多相关文章

  1. Activity的LaunchMode情景思考

    此链接:http://blog.csdn.net/xiaodongrush/article/details/28597855 1. 有哪几种类型?分别有什么用? http://developer.an ...

  2. Activity之launchMode理解

    对于Activity中的四个lauchMode[standard(默认).singleTop.singleTask.singleInstance]的介绍网上已经有大把的文章了,但是在实际应用开发时,对 ...

  3. android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode

    转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...

  4. Activity的launchMode和任务栈小结

    对Activity的launchMode的理解一直没有好好总结下,这两天系统总结下launchMode的使用方法: Activity的launchMode属性决定了Activity和应用程序当前任务栈 ...

  5. Android减少布局层次--有关Activity根视图DecorView的思考

    1 Android应用图层 一直觉得有关DecorView还是有些问题没有搞清楚,今天在看了一点有关SurfaceFlinger的内容以后,顿时突发奇想,想到之前的问题,之前的思考是: 虽然可以将De ...

  6. Mariadb 10.2中的json使用及应用场景思考

    -- 创建示例表DROP TABLE IF EXISTS `t_base_user`;CREATE TABLE `t_base_user`  (  `USER_ID` char(36) CHARACT ...

  7. FileMaker应用场景思考

    大型企业有自己强大的IT队伍,但一些小需求没人理,小企业只有网管或没有专门的IT. 一般个人记录或处理数据时,Excel很够用了,但一个Team,Excel就明显有问题了,比如共享.权限控制?最简单的 ...

  8. Activity: launchMode 和 Intent.FLAG_ACTIVITY_CLEAR_TOP

    Activity 的 launchMode: 1. standard: 标准模式 这种启动模式为标准模式,也是默认模式.每当我们启动一个Activity,系统就会相应的创建一个实例,不管这个实例是否已 ...

  9. Activity的四中启动模式的应用场景。

    1,standard 默认情况下的启动模式,队列排序,linked 2,singleTop ,任务栈栈顶只有一个实例.如果Activity A在栈顶,就不会在A 的上面创建新的 Activity  A ...

随机推荐

  1. pick王菊?作为“菊外人”的程序员能做点什么?

    转载:https://mp.weixin.qq.com/s/s1cb9Ij6ouTYYCZovLhXTA 最近,想必大家的朋友圈都被“王菊”占领了,打开朋友圈到处可以见到“pick王菊”.“陶渊明”. ...

  2. daterangepicker 使用方法总结

    daterangepicker 是一个时间段选择插件.官网地址:http://www.daterangepicker.com/ 项目中需要实现如下图的效果: 1.引入该插件所需要的JS 和 CSS , ...

  3. Javascript实现浏览器菜单命令

    每当我们看到别人网页上的打开.打印.前进.另存为.后退.关闭本窗口.禁用右键等实现浏览器命令的链接,而自己苦于不能实现时,是不是感到很遗憾?是不是也想实现?如果能在网页上能实现浏览器的命令,将是多么有 ...

  4. 15 款优化表单的 jQuery 插件

    网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,“联系我们”页面会提供一个表单给用户填写他们的信息和想 ...

  5. 上传图片(示列分析) $_FILES

    新建一个think_photo数据库,库里用sql CREATE TABLE IF NOT EXISTS `think_photo` ( `id` ) NOT NULL AUTO_INCREMENT, ...

  6. 关于Cocos2d-x中定时器的使用总结

    1.定义 定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面.时间.进度.敌人的指令等等. cocos2dx为我们提供了定时器schedule相关的操作.其操 ...

  7. Struts2之Domain Model(域模型)。

    使用原因 为了避免在action中有太多的类,而需要写大量的get().set(). 故在Struts2 使用 了 domain model. Action: private User user; p ...

  8. 仿教程 小爬虫抓取imooc数据

    慕课网的nodejs教程:http://www.imooc.com/learn/348 这人讲的很赞,特别是在事件驱动这点上,耳目一新. 视频略老,所以demo有些过时了,摸索着写了一个自己的小程序. ...

  9. JS中document对象详解

    转自:http://www.cnblogs.com/andycai/archive/2010/06/29/1767351.html 对象属性 document.title //设置文档标题等价于HTM ...

  10. perl readlink 函数-返回软链接指向的文件

    readlink 函数专门用于处理链接,可以返回该链接指向的文件的路径 代码示例: print readlink($prog) if (-f $prog && -l $prog):