位置: 编程技术 - 正文

Activity的四种加载模式

编辑:rootadmin

推荐整理分享Activity的四种加载模式,希望有所帮助,仅作参考,欢迎阅读内容。

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

配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,其属性值有: standard 标准模式,默认加载模式 singleTop Task顶单例模式 singleTask Task内单例模式 singleInstance 全局单例模式 android采用Task来管理多个Activity,当我们启动一个应用时,android就会为之创建了一个Task,然后启动这个应用的入口(即<intent-filter.../>中配置MAIN和LAUNCHER的Activity) android并没有为Task提供API,因此开发者无法真正访问Task,只能调用Activity的getTaskId()方法来获取它所在的Task的ID。 事实上我们可以把Task理解为Activity的栈,Task以栈的形式来管理Activity,先启动的Activity被放在Task栈底,后启动的Activity被放在Task栈顶。

1.standard 标准模式,默认加载模式 每次通过这种模式启动目标Activity时,Android总会为目标Activity创建一个新的实例,并将该实例Activity添加到当前Task栈中-这种模式不会启动新的Task,新Activity将被添加到原有的Task中。 在AndroidManifest.xml中MainActivity中添加android:launchMode=”standard”或不添加,因为standard模式为默认加载模式。

Activity的四种加载模式

2.singleTop模式 与standard模式基本相似,但有一点不同,当将要被启动的目标Activity已经位于Task栈顶时,系统不会重新创建目标Activity实例,而是直接复用已有的Activity实例。 在AndroidManifest.xml中MainActivity中添加android:launchMode=”singleTop”

3.singleTask模式 采用这种加载模式的Activity在同一个Task内只有一个实例,当系统采用singleTask模式启动目标Activity时,有如下三种情况 如果将要启动的目标不存在,系统将会创建目标Activity的实例,并将它加入Task栈顶 如果将要启动的目标Activity已经位于Task栈顶,此时与singleTop模式行为相同 如果将要启动的目标Activity已经存在,但没有位于Task栈顶,系统将会把位于该Activity上面的所有Activity移出Task栈,从而使的目标Activity转入栈顶。 在AndroidManifest.xml中MainActivity中添加android:launchMode=”singleTask”

4.singleInstance模式 这种加载模式下,系统保证无论从那个Task中启动目标Activity,只会创建一个目标Activity实例,并会使用一个全新的Task栈来装载该Activity实例。分为如下两种情况 如果将要启动的目标Activity不存在,系统会先创建一个全新的Task,再创建目标Activity实例,并将它加入新的Task栈顶 如果将要启动的目标Activity已经存在,无论它位于那个应用程序中,无论它位于那个Task中,系统将会把Activity所在的Task转到前台,从而使用该Activity显示出来. 在AndroidManifest.xml中OtherActivity中添加 android:launchMode=”singleInstance”

注: 由于篇幅较大,更详细的案例分析及Task栈的分析已上传到我的资源中 点击下载

Dialog-普通对话框-列表对话框 finalStringitems[]={Java,Android,PHP,iOS,.NET,Sql};1.普通对话框2.列表对话框3.单选列表对话框4.复选列表对话框

Android入门---下拉刷新上拉加载更多策略的实现 最近需要实现一个下拉刷新上拉加载更多的项目,目前已经实现,下面总结下实现过程中遇到的问题和相关解决;首先理清思路:因为涉及到网络获取

Android是如何在不同屏幕上适配图片的 -- 或控件大小 转载:

标签: Activity的四种加载模式

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

上一篇:ExpandableListView 实现分组购物车

下一篇:Dialog-普通对话框-列表对话框(普通话的对话)

  • 税差理论名词解释
  • 税额为零的增值税是多少
  • 现金销售收入是净收入吗
  • 为什么要结转发出材料成本差异
  • 一次性计提后的固定资产残值
  • 工会经费和职工教育经费比例
  • 非货币资产交换的会计处理原则
  • 个体工商户核定应税所得率
  • 发票现金支付的做账增值税
  • 出租固定资产取得的租金收入属于什么收入
  • 汽车折旧年份
  • 公司给客户退款会计分录
  • 应付职工薪酬社保
  • 双软企业资质
  • 地税没报税怎么办
  • 待清算直销银行
  • 筹建期间职工福利费都要通过应付职工薪酬核算吗
  • 生物性资产是什么
  • 城建税和教育费附加可以税前扣除吗
  • 职工食堂操作流程图
  • 为什么ie浏览器打开是2345浏览器
  • 以库存现金支付车间发生的水电费200元
  • 企业从政府取得的经济资源均应当
  • 公司向私人借款利息可以入账吗
  • 公司所有费用都让一人报销
  • mac 查看当前用户
  • uniapp生成h5
  • 为什么不能零申报
  • 捐赠支出算期间费用吗
  • php stat
  • 委托加工业务的组成计税价格
  • zend框架教程
  • 再就业优惠怎么办理
  • 未摊销完的房租转哪个科目
  • PHP面向对象程序设计
  • 安装多版本chrome
  • test指令怎么用
  • 研发支出放在资产负债表哪里
  • 税控盘全额抵扣发票怎么勾选
  • 减资的程序
  • 应交土地增值税税率
  • 分公司和总公司的账务处理
  • mysql内连接查询使用汉语作为官方语言的所有国家
  • 销售提成缴税
  • 金税盘登录密码和口令从哪查
  • 增值税品种
  • 银行怎么划分标准
  • 发票可否盖财务章
  • 没有发票可以先付款吗
  • 固定资产正常报废与非正常报废的会计处理基本相同
  • 未开票收入转为开票收入
  • 债权投资减值准备是什么科目
  • 发放工资时社保为什么计入其他应付款科目
  • 不同银行的存款
  • 出口抵减内销产品应纳税额在借方
  • 销售配件模式
  • 哪些减值准备一经计提不得转回
  • 往来是啥意思
  • 监控系统文件
  • mysql5.7.27安装
  • 一个绝招 组合的成语
  • centos6.5安装步骤
  • U盘安装centos7步骤
  • win10系统进程
  • win10外置光驱读不出光盘怎么办
  • windows8介绍
  • 微软星期二补丁
  • jquery实现图片懒加载
  • linux系统下hosts文件详解及配置
  • html中的td
  • 深入解析java编译器:源码剖析与实例详解
  • shell命令怎么用
  • python爬虫模拟登录亚马逊
  • javascript+css3 实现动态按钮菜单特效
  • js实现自定义打印
  • jquery做下拉
  • jquery中on
  • 山西电子税务局手机版
  • 首问责任制的概念
  • 深圳市百旺信投资有限责任公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设