位置: 编程技术 - 正文

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

  • 自然人收缴税务客户端
  • 一般纳税人劳务公司可以开3%的发票吗
  • 公司处理固定资产的账务处理
  • 个体工商户收入怎么核定
  • 事业单位装修费用
  • 小规模纳税人缴纳增值税怎么做账
  • 年初的进项税额计算公式
  • 信用减值损失在借方
  • 进项税加计抵减生产性服务
  • 企业持有到期债券的风险
  • 建安行业外地预缴工会经费
  • 税控机减免税额怎么算
  • 总公司调到子公司
  • 报关单有多个合同协议号
  • 没有发票合法吗
  • 公司股权转1元转让还涉及哪些税务风险?
  • 增值税和消费税申报对比不符怎么处理
  • 设备安装费计入设备成本吗
  • 税收筹划要注意哪些问题
  • 企业所得税可以退税吗
  • 企业做账会计需要什么资质
  • 软件开发工资低
  • 营业成本主要包括
  • 融资租赁纳税人是指
  • 办公室装修计入什么科目里
  • 赠品如何做兑换码
  • php多维数组转一维数组
  • mac上安装
  • 升级w10系统
  • 同城票据清算会怎么样
  • 点云目标检测数据集
  • 投影仪哪种光源亮度高
  • 建筑企业安装费计入什么科目
  • 所得税 减半
  • 微信小程序制作
  • vue项目如何打包成dist
  • yolov3图像识别
  • In Java, how do I read/convert an InputStream to a String? Stack Overflow
  • phpcms默认密码
  • 个人独资公司和合伙公司有什么区别
  • 非流动资产处置计入什么科目
  • 加计抵减退税的会计分录
  • 帝国cms如何判断图片有没有被使用
  • mysql的联合查询
  • mysql binlog详解
  • 销售部门发生的商品维修费
  • 成品油涉及范围有哪些
  • 营业收入的意义是什么
  • 配置英文
  • 个人增值税发票税率
  • 信息技术服务可以开13%的发票吗
  • 本年利润总分类账怎么写
  • 工会经费和福利费绩效目标怎么写
  • 给客户的回扣怎么表达
  • 未确认收入的会计分录
  • 出口退税免抵退税额要交城建税吗
  • 销售货物退款会计分录
  • 母子公司之间的借款利息支出增值税能否抵扣
  • 无形资产计提减值准备计算
  • 上年亏损本年要交税吗
  • 出售固定资产属于什么收入
  • 关于存储过程的描述
  • 数据库汉字转拼音
  • sql复制表的语句
  • WINDOWS操作系统内置的GUEST
  • win7怎么操作
  • xp系统电脑设置在哪
  • windows7 cpu使用率高
  • linux find命令用法
  • Python判断字符串结尾并输出yes或no
  • 环境配置怎么配置
  • js堆栈和队列
  • jquery点击按钮切换图片
  • jquery的validate前端表单验证
  • js实现复制文本
  • 国家税务局网上电子税务局官网重庆
  • 电话费的税费计入什么科目
  • 提高税务干部七种能力的意义
  • 海南海葬需要多少费用
  • 会计的各种税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设