位置: 编程技术 - 正文

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年
  • 收取滞纳金是行政处罚吗
  • 税控盘服务费申报是在哪里填写
  • 票据状态提示付款
  • win11桌面图标如何固定不动
  • 购进材料用于在建工程进项税
  • npm sill idealTree buildDeps 安装踩坑指南(详细版)
  • 住房补贴缴纳比例是多少
  • 员工伙食费明细表
  • win7为什么显示多重网络
  • 深入php:面向对象、模式与实践
  • 怎么区分债券折价还是溢价
  • 我国的增值税是价外税消费税是价内税
  • vuecli项目实战
  • 山东省项目
  • php 计算
  • python采集器
  • opencv的函数
  • 特殊动产的一物数卖履行顺序
  • 长期借款的主要成本包括
  • 企业产值用什么符号表示
  • 国有资产无偿划转的会计处理
  • 个人所得税如何查询
  • 所得税汇算会计处理
  • python循环语句的语法
  • zabbix 网络监控
  • el-form表单
  • 租车出差差旅费标准
  • 汇款和转账有什么区别吗
  • 销售折扣收货方法有哪些
  • 纸质承兑上的印花是什么
  • 社保年度申报错误可以调整吗
  • MySQL里Create Index 能否创建主键 Primary Key
  • 一般纳税人开普票和专票有什么区别
  • 专票信息技术服务费
  • 采购暂估业务处理流程
  • 收到外币收入怎么处理
  • 支付关税现金流放哪儿
  • 微信转账截图可以作为会计凭证吗
  • 一般纳税人拿到普票怎么处理账务
  • 认证后的进项税额留抵退税
  • 特许权使用费税前扣除
  • sqlserver数据库恢复挂起状态
  • linux系统基本指令
  • freebsd使用
  • unix系统的文件分为哪三种存取结构
  • wingate.exe - wingate是什么进程
  • 密码多次错误被锁定怎么办
  • linux操作系统安装包
  • Mac通过AppleID登录窗口
  • window8系统好用吗
  • win8用户账户控制如何解除
  • 如何判断电脑是不是linux
  • linux服务器被尝试登录失败
  • 怎么用winrar打包压缩文件
  • python有没有翻译库
  • unityapi解析
  • javascriptfor循环九九乘法表
  • javascript获取html元素的方法
  • javascript中var的作用
  • 成品油税费具体计算
  • 临时工工资需要申报吗
  • 湖南城乡居民医疗保险咨询电话
  • 税务人员少征税款
  • 湖北省税务发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设