当前位置: 首页 > news >正文

四种LaunchMode及其使用场景

为什么80%的码农都做不了架构师?>>>   hot3.png

 

四种LaunchMode及其使用场景

standard 模式

这是默认模式,每次激活Activity时都会创建Activity实例,并放入当前任务栈中。使用场景:大多数Activity。

singleTop 模式

singleTop模式的Activity, 仅当该Activity已经在Task的顶部了, 才会复用. 复用时onPause, 然后onNewIntent唤起, 走onResume流程. 否则都要创建新的实例, 放进Task中。使用场景如新闻类或者阅读类App的内容页面。

singleTask 模式

如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onPause() -- onNewIntent() --onResume())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。使用场景如浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面。

singleInstance 模式

在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例( 会调用实例的 onNewIntent() )。其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。使用场景如闹铃提醒,将闹铃提醒与闹铃设置分离。singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。

 

转载于:https://my.oschina.net/ldhy/blog/1554009

相关文章:

  • 常用命令及小技巧等
  • 探究redux源码-衍生-中间件思想
  • 内置方法(1)
  • MYSQL汇总
  • online
  • Visual Studio 15.4发布,新增多平台支持
  • 麦克阿瑟天才奖得主解码计算机视觉“原罪”:AI 如何认识人类世界
  • php 二维数组排序/对数组分组
  • php数组·的方法-数组检索
  • 软件选择的起点:目的与需求
  • Loadrunner视频教程汇总
  • 离散点最小(凸)包围边界查找
  • 深圳大学教授:人脸识别如何助力深圳智慧城市建设?
  • centos7如何安装zabbix
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • DataBase in Android
  • Java新版本的开发已正式进入轨道,版本号18.3
  • js递归,无限分级树形折叠菜单
  • Laravel 中的一个后期静态绑定
  • PAT A1092
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端之Sass/Scss实战笔记
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用权重正则化较少模型过拟合
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 为视图添加丝滑的水波纹
  • ionic入门之数据绑定显示-1
  • puppet连载22:define用法
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (2)MFC+openGL单文档框架glFrame
  • (C语言)逆序输出字符串
  • (笔试题)分解质因式
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转载)hibernate缓存
  • ../depcomp: line 571: exec: g++: not found
  • .dwp和.webpart的区别
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net 应用中使用dot trace进行性能诊断
  • .Net下的签名与混淆
  • /dev/sda2 is mounted; will not make a filesystem here!
  • /proc/stat文件详解(翻译)
  • @Not - Empty-Null-Blank
  • [ linux ] linux 命令英文全称及解释
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [BUG]vscode插件live server无法自动打开浏览器
  • [C++打怪升级]--学习总目录
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽