位置: 编程技术 - 正文

Activity的四种启动模式和onNewIntent()

发布时间:2024-02-27

推荐整理分享Activity的四种启动模式和onNewIntent(),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Activity的四种启动模式和onNewIntent()

转自:   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。   Android总Activity的启动模式分为四种:

Java代码 Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standard" /> Activity的四种启动模式: 1. standard 默认启动模式,每次激活Activity时都会创建Activity,并放入任务栈中,永远不会调用onNewIntent()。 2. singleTop 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,并调用其onNewIntent(),否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例,而不会调用onNewIntent(),此时就跟standard模式一样)。 3. singleTask 如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中(此时不会调用onNewIntent())。 4. singleInstance 在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。 大家遇到一个应用的Activity供多种方式调用启动的情况,多个调用希望只有一个Activity的实例存在,这就需要Activity的onNewIntent(Intent intent)方法了。只要在Activity中加入自己的onNewIntent(intent)的实现加上Manifest中对Activity设置lanuchMode=“singleTask”就可以。 onNewIntent()非常好用,Activity第一启动的时候执行onCreate()---->onStart()---->onResume()等后续生命周期函数,也就时说第一次启动Activity并不会执行到onNewIntent(). 而后面如果再有想启动Activity的时候,那就是执行onNewIntent()---->onResart()------>onStart()----->onResume(). 如果android系统由于内存不足把已存在Activity释放掉了,那么再次调用的时候会重新启动Activity即执行onCreate()---->onStart()---->onResume()等。 当调用到onNewIntent(intent)的时候,需要在onNewIntent() 中使用setIntent(intent)赋&#;给Activity的Intent.否则,后续的getIntent()都是得到老的Intent。

CalledFromWrongThreadException: Only the original thread that created a view 在分析Android消息机制之前,我们先来看一段代码:[html]viewplaincopyprint?publicclassMainActivityextendsActivityimplementsView.OnClickListener{privateTextViewstateText;privateButtonb

Android Studio -修改LogCat的颜色*美爆了* 一、先看效果二、设置File-Settings或Ctrl+Alt+S找到Editor-ColorsFonts-AndroidLogcat或在上面的搜索框中输入Logcat点中Verbose,Info,Debug等选项,然后在后面将UseInberiteda

Android 图片缓存整理 图片过多造成内存溢出,这个是最不容易解决的,要想一些好的缓存策略,比如大图片使用LRU缓存策略或懒加载缓存策略。今天首先介绍一下本地缓存

标签: Activity的四种启动模式和onNewIntent()

本文链接地址:https://www.jiuchutong.com/biancheng/374519.html 转载请保留说明!

上一篇:android 一个集合问题导致不得不说的故事(android集成chromiumview)

下一篇:CalledFromWrongThreadException: Only the original thread that created a view

  • 应付账款不需要函证
  • 为改良生产线发生的变化
  • 什么时候过路费是半价
  • 贴现利息应计入什么费用
  • 不动产什么时候可以抵扣进项税额
  • 现金日记账划线更正法
  • 购买办公用品并分发有关部门会计分录
  • 退休工资要缴纳税吗
  • 承包经营所得发包方如何纳税
  • 白酒在哪个环节征收消费税
  • 工资和社保计提和发放账务处理
  • 小规模纳税人实收资本印花税如何交
  • 失业社保补助金领取条件
  • 公司库存现金如何存回银行
  • 如何理解合并报表
  • 民事诉讼的适用范围具体包括哪些案件
  • 企业接收政府划入资产的税务处理办法
  • 资源税如何进行账务处理
  • 采购比价流程图
  • 总分机构账务处理
  • 减税降费政策六税
  • 不得抵扣进项税额是交税还是不交
  • 生产车间的费用会计分录
  • 社保公积金的钱可以提出来吗
  • uc浏览器缓存视频删除了还占内存
  • 个人通讯费可以税前扣除吗
  • 毛利率为负也可以投资吗
  • typescriptlang
  • html的网址
  • object的类有哪些
  • vue父子组件如何传递数据
  • 工业企业采购部工资计入什么科目
  • 苹果cmsv10官网
  • 企业的对公账户怎么办理
  • mongodb bi
  • 织梦官网倒闭了吗
  • 员工出差回来会计分录
  • 个体经营部能抵扣个税吗
  • 免征增值税个税计税依据
  • 基建和技改的区别
  • 勾选认证能够勾选当月
  • 其他应付款核算范围包括哪些
  • 工程一般挂靠取得的收入怎么做账?
  • 把公司设备操作坏了怎么担责
  • 销项发票能不能退税
  • 其它应付款为负
  • 余额调节表怎么填写例题
  • sql注入讲解
  • mysql中的去重
  • xp系统怎么升级版本
  • WINDOWS系统中删除放入回收站的文件占用什么空间
  • archlinux安装zsh
  • aliwssv.exe是什么进程
  • win10电脑打开图片文件夹会跳闪
  • xp双系统怎么切换系统
  • linux的sbin
  • 苹果预计10.1-15号到能准确吗
  • centos基本操作命令
  • centos elk
  • 如果在一个命令行上输入和执行多条命令
  • ps显示操作步骤
  • windows8.1关闭开机密码
  • linux常用命令查看
  • win7不能玩dnf
  • javascriptz
  • nodejs获取客户端ip地址
  • nodejs怎么在服务器运行
  • unity脚本编写教程
  • [置顶]马粥街残酷史
  • jq点击图片让图片进行切换
  • 各类扩展名
  • python的queue
  • jquery easy ui
  • python语言解析
  • JavaScript的函数中只能写一条代码语句
  • python通过编程求权重
  • 广东电子税务系统社保1号都能申报吗
  • 浙江应急管理厅焊工证查询
  • 设立新的机构或开办新的业务
  • 福建电子税务局登录入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号