位置: 编程技术 - 正文

android启动模式对于体验的影响(android 启动器 设置)

编辑:rootadmin

推荐整理分享android启动模式对于体验的影响(android 启动器 设置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android系统启动过程,android 四种启动模式 及使用场景,android 启动器 设置,android启动流程视频教程,android 启动器 设置,android 启动模式,android4种启动模式,android启动模式应用场景,内容如对您有帮助,希望把文章链接给更多的朋友!

说到Android的启动模式,懂Android的人肯定都懂。通过设置启动模式我们不仅可以节省内存的使用,还能达到更好的体验,比如我们打开一个应用,点击home键回到主界面的时候程序是没有被kill掉,当点击应用再回来的时候如果设置有问题的话们,那么可能回来的时候又会加载一次我们写的引导页。这个时候我们就可以设置我们的界面使用sigleTop,当点击home键的时候我们当前的activity就会在栈顶,当下次回来的时候就会直接从栈顶去加载这个界面就不会出现这个问题了。

还有就是我今天刚好遇到的一个:看看图啊

当我点击qq跳转到qq以后,在不登录的话,我按back键是会回到我的应用,但是如果登录以后再点击back键就直接退出到主界面了。

调了半天总觉得哪有问题,activity的各种模式在xml文件也修改了半天,总是不满意。最后看了下Intent的Flag属性。

1.FLAG_ACTIVITY_NEW_TASK:

当Intent对象包含这个标记时,系统会寻找或创建一个新的task来放置目标Activity,寻找时依据目标Activity的taskAffinity属性进行匹配,如果找到一个task的taskAffinity与之相同,就将目标Activity压入此task中,如果查找无果,则创建一个新的task,并将该task的taskAffinity设置为目标Activity的taskActivity,将目标Activity放置于此task。注意,如果同一个应用中Activity的taskAffinity都使用默认&#;或都设置相同&#;时,应用内的Activity之间的跳转使用这个标记是没有意义的,因为当前应用task就是目标Activity最好的宿主

2.FLAG_ACTIVITY_CLEAR_TOP:

android启动模式对于体验的影响(android 启动器 设置)

当Intent对象包含这个标记时,如果在栈中发现存在Activity实例,则清空这个实例之上的Activity,使其处于栈顶。例如:我们的FirstActivity跳转到SecondActivity,SecondActivity跳转到ThirdActivity,而ThirdActivity又跳到SecondActivity,那么ThirdActivity实例将被弹出栈,使SecondActivity处于栈顶,显示到幕前,栈内只剩下FirstActivity和SecondActivity。这个SecondActivity既可以在onNewIntent()中接收到传来的Intent,也可以把自己销毁之后重新启动来接受这个Intent。在使用默认的“standard”启动模式下,如果没有在Intent使用到FLAG_ACTIVITY_SINGLE_TOP标记,那么它将关闭后重建,如果使用了这个FLAG_ACTIVITY_SINGLE_TOP标记,则会使用已存在的实例;对于其他启动模式,无需再使用FLAG_ACTIVITY_SINGLE_TOP,它都将使用已存在的实例,Intent会被传递到这个实例的onNewIntent()中

3.FLAG_ACTIVITY_SINGLE_TOP:

当task中存在目标Activity实例并且位于栈的顶端时,不再创建一个新的,直接利用这个实例。我们在上边的例子中也有讲到。与Activity启动模式中的singleTop效果相同。

4.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET:

如果一个Intent中包含此属性,则它转向的那个Activity以及在那个Activity其上的所有Activity都会在task重置时被清除出task(前提:FLAG_ACTIVITY_RESET_TASK_IF_NEEDED)。当我们将一个后台的task重新回到前台时,系统会在特定情况下为这个动作附带一个FLAG_ACTIVITY_RESET_TASK_IF_NEEDED标记,意味着必要时重置task,这时FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET就会生效。经过测试发现,对于一个处于后台的应用,如果在主选单点击应用,这个动作中含有FLAG_ACTIVITY_RESET_TASK_IF_NEEDED标记,长按Home键,然后点击最近记录,这个动作不含FLAG_ACTIVITY_RESET_TASK_IF_NEEDED标记,所以前者会清除,后者不会

5.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED:

这个标记在以下情况下会生效:1.启动Activity时创建新的task来放置Activity实例;2.已存在的task被放置于前台。系统会根据affinity对指定的task进行重置操作,task会压入某些Activity实例或移除某些Activity实例

这是几个比较常见的几个Flag,通过看这几个的介绍的也许就能发现,其实我这个问题要解决很简单,这要把我们需要把我们的应用跟qq这个应用放到不同的task中,然后我们在点击back键后就会去取我们应用中在栈顶的activity然后就会回到我们的应用,就是这么简单。

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Intent 的flag属性比较多,有时候也许能解决很多难以解决的问题

Android程序打包和安装过程及apk安装释放文件过程 一、Android程序打包安装的过程用解压缩软件打开--Helloworld.apk--META-INF目录下,我们可以看到如下的目录结构这里面的文件保存着应用程序的签名摘要,

安卓activity和fragment之间切换动作--左右滑动的效果 一开始我给activity定义了切换动作,不知道为什么效果一直没出来,切换动作都是安卓默认的。后来问了问别人,改了改终于好了,为什么我也不知道。

移动应用界面设计的尺寸设置及规范 刚接触移动应用的界面设计,最先跳入脑海的疑问是:画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图

标签: android 启动器 设置

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

上一篇:string 和StringBuffer StringBuilder的区别(string和stringbuffer创建后都可以修改)

下一篇:Android程序打包和安装过程及apk安装释放文件过程(安卓打包安装程序apk)

  • 非关联企业借款利息扣除
  • 什么是免税合并
  • 月末存款余额
  • 关于美容院的会计如何做账
  • 营业执照作废声明怎么撤销
  • 所得税报表的营业成本包括管理费用吗
  • 个体开建筑服务税率多少?
  • 公司清算 债权
  • 前期物业开办费和承接费一样吗
  • 行业协会的作用定位
  • 货款和发票金额不符
  • 多交税费退税会计处理
  • 银行罚息怎么入账
  • 职工食堂的费用怎么入账
  • 酒店客房主营业务支出明细表怎么写
  • 进项税抵扣需要做分录吗
  • 坏账准备增加记什么方
  • 公司钱被取走怎么处理
  • window10过期
  • 非公开发行股票是利好还是利空
  • 怎么通过mac地址访问设备
  • 上月开的发票会计漏做帐,本月应如何补做账?
  • 笔记本电池的正负极区分
  • 其他应付款很多
  • PHP:curl_multi_close()的用法_cURL函数
  • 公账提取备用金限额
  • php imagecopymerge
  • wordpress上传文件限制
  • php similar_text()函数的定义和用法
  • 企业所得税退税流程
  • 子公司破产对母公司是利好还是利空
  • 【原创】基于JavaWeb的医院预约挂号系统(医院挂号管理系统毕业设计)
  • 未完待续百度百科
  • 前端不使用明文密码方案
  • 固定资产减值准备计入什么科目
  • 出租营改增之前取得的有形动产
  • 财政拨款结转和财政拨款结余以前年度盈余调整
  • 间接费用会计科目
  • 企业应交税金科目编码
  • 房产税从租和从价都要交吗
  • 货到票未到的会计分录怎么做
  • 财务费用账户属于什么账户
  • 所得税季初季末怎么填
  • 小规模减免的增值税
  • 服务不动产和无形资产本期数,第19栏
  • 工程建设期间发生的差旅费
  • 翻唱歌曲发行至国外的好处
  • 利润敏感性分析法可以帮助企业有哪些决策?
  • 接受控股股东赠与的一项非货币性资产
  • 借款利息收入开发票
  • 购买材料没开票怎么做账
  • 进口关税如何记账
  • 执行企业会计准则的非上市企业
  • 会计核算采用什么形式
  • 总账建账要建全部科目吗
  • Mysql执行sql文件
  • Windows 8.1下MySQL5.7 忘记root 密码的解决方法
  • sqlserver数据库定时任务
  • macos finder的应用程序列表在哪里
  • 半自动化系统
  • linux进程详解
  • vim删除^m
  • win10远程桌面连接教程
  • 如何把win7系统复制到u盘里
  • win8手提电脑怎么关闭触摸板
  • windows8应用商店在哪
  • unity做小地图
  • opengl编程语言
  • bat脚本怎么运行
  • js中的filter方法
  • linux中date命令详解
  • Python常用时间操作总结【取得当前时间、时间函数、应用等】
  • 简要说明javascript的作用
  • react和nodejs
  • unity uma
  • js函数关键字
  • javascript基础笔记
  • 土地增值税有哪些税收优惠
  • 土地规划资质业务范围
  • 医务人员抗疫补助发放标准最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设