位置: 编程技术 - 正文

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-普通对话框-列表对话框(普通话的对话)

  • 提成过高
  • 出售股票税费处理投资收益在贷方
  • 物流企业怎么做大做强?
  • 主营业务利润和利润总额
  • 电子发票入账是什么意思
  • 免交的附加税需要计提吗
  • 关联企业房产转让
  • 个体工商户可以开发票吗
  • 盘盈的固定资产怎么做账务处理
  • 子公司注销后账务如何处理
  • 汇算清缴的利润表本期数与本年数
  • 建筑工程管理费包括哪些内容
  • 怎么登记明细账
  • 起征点与免征额的区别
  • 报销单冲抵借支做账
  • 费用发票的种类
  • 跨年了可以补去年的养老吗
  • 营改增后建筑业开票规定
  • 电子银行承兑如何背书给别人
  • 公司支付劳务派遣人员工资账务处理
  • 勾选认证的发票在哪里能查询
  • 住房公积金业务挂起
  • 怎样冲回多提应付职工薪酬?
  • 防伪税控开具发票明细表
  • 非营利性组织有
  • 行政事业单位绿化工程完工应结转资产吗
  • 开过去的普通发票多久不能冲红?
  • win10开发工具在哪
  • 装饰装修工程月薪多少
  • 预算会计的特点包括
  • 销售使用过的固定资产怎么填申报表
  • 荣耀畅玩7怎么截长图
  • 无偿赠送增值税问题
  • 厂房押金不退怎么要回来
  • 期末增值税结转账务处理
  • 会计政策变更累计数
  • thinkphp案例
  • 长期待摊费用应该怎么摊销
  • 房产税为什么会退税
  • mysql框架有哪些
  • php分页思路
  • 纳税人有什么义务
  • python里%s
  • 支付应付账款的文章怎么写的
  • 节能控制模块
  • 债券承销费是指什么费用
  • case语句怎么执行
  • 零售行业的销售额由什么决定
  • 集团内部借款利率如何确定
  • 其它收益和递延收益的区别
  • 以前年度损益科目编码
  • 外资企业和内资企业并举
  • 失业领取社保补贴怎么领
  • 建筑业纳税人简易征收偷逃增值税
  • 备品和备件的定义
  • 研发一个月多少钱
  • 在你登陆时发生了问题
  • Excel导入Sqlserver数据库脚本
  • mysql索引作用的简单理解
  • xp如何把ie浏览器设置为默认浏览器
  • centos 离线安装git
  • bios设置第一启动项图解
  • CentOS(x86_64)下PHP安装memcache扩展问题解决方法分享
  • WinCtlAdAlt.exe - WinCtlAdAlt是什么进程
  • linux远程登录命令ssh
  • office解压后如何安装
  • linux的tar命令用法
  • linux如何加载动态库
  • 错误日志项数
  • Extjs 4.x 得到form CheckBox 复选框的值
  • linux删除文件语句
  • jquery的dialog怎么使用
  • 批处理/d
  • js折叠展开特效
  • js响应鼠标点击不了
  • listview添加按钮
  • select ui
  • 赞美税务干部对联大全集锦
  • 北京车过户到廊坊标准
  • 大管家多少集
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设