位置: 编程技术 - 正文

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

编辑:rootadmin

推荐整理分享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

  • 待解预算收入税务局退税如何做账
  • 以前年度损益调整
  • 缴纳以前年度所得税在今年汇算清缴怎么填报
  • 出口货物备案单证目录在哪里
  • 简易计税的增值税要计提附加税吗
  • 小规模附加税减免政策2023最新
  • 多计提的城建税怎么办
  • 高原补贴算工资吗
  • 开汽车租赁发票需要什么资料?
  • 开票未收到款会计分录
  • 企业所得税季度预缴纳税申报表
  • 抄税没成功
  • 增值税小规模纳税人适用3%征收率
  • 商场 折扣
  • 代收代缴消费税要交城建税吗?
  • 我的初级备考经验怎么写
  • 收到运费怎么做账
  • 两年利润都为负数,如何计算完成率
  • 向境外分配股息怎样算税额
  • 不能取得发票的财务费用怎么做明细好一点
  • 发生固定资产了怎么做账
  • ie增强的安全配置已启用上不了网
  • 如何解决win7系统卡顿
  • win10电脑屏幕颜色变了怎么调到原来的
  • 职工教育经费怎么做凭证
  • php+ mysql教程
  • linux vim
  • redhat无法进入图形界面
  • win7怎么看服务
  • PHP:mcrypt_enc_get_algorithms_name()的用法_Mcrypt函数
  • 用应付票据付应付账款
  • 都有哪些收据可以抵税
  • vue input value
  • 房屋租赁费发票备注栏需要写什么?
  • php中类静态成员描述不正确的是
  • 印花税跨年度缴纳有滞纳金吗
  • python脚本例子
  • 计提票面利息
  • 政府补助收入是免税收入还是不征税收入
  • 逾期超过一年
  • 建设项目财务费用包括
  • 帝国cms手机版制作
  • mongodb计数
  • 转出未交增值税最终怎么转平
  • 印花税技术服务合同包括哪些
  • 年报资金数额是什么意思
  • 平台收取佣金开什么发票
  • 一般纳税人应交税费二级科目有哪些
  • 公司充话费
  • 其他应收款对应的预算会计
  • 内控制度包括哪几方面
  • 刷信用卡的手续费一般是多少
  • 收到厂家返利账务处理
  • 费用会计处理
  • 认证抵扣发票
  • 在分公司签的合同能转到总公司吗?
  • 固定资产处置有净值怎么处理
  • mysql查询条件不区分大小写
  • mysql5717安装及配置超详细教程
  • 在windows上装ubuntu
  • xp系统插u盘没反应怎么解决
  • windows取消隐藏文件夹
  • mac terminal在哪里
  • win7双声道
  • linux制作
  • 使用jquery实现的项目
  • android canvas scale
  • perl and
  • jquery炫酷效果
  • unity3d最新
  • 使用mvc模式设计的web应用程序
  • 简述activity的生命周期中有哪几种状态
  • 彩票中500万自己能得多少
  • 小规模企业零申报怎么操作
  • 9月1日起陕西省房产契税新政
  • 大数据在税务稽查的应用
  • 建筑施工企业研发中心建设
  • 深圳电动车怎么注册登记
  • 公租房要钱吗
  • 江苏省纳税信息查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设