位置: 编程技术 - 正文

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

  • 合同履约成本资本化
  • 海关对哪些物品有出入境的限制规定
  • 劳务公司拿什么来做成本
  • 处置固定资产产生的净损失
  • 增值税进项税额计算公式
  • 建筑行业增值税税负率计算公式
  • 对公走账是什么意思
  • 出口报关单上的运费和保费和实际不一致
  • 关联方借款的企业所得税政策
  • 对方承担税差该如何入账?
  • 业务招待费取得的专票可以抵扣吗
  • 增值税什么情况下可以退税
  • 预缴税款附加税怎么弄
  • 长期待摊费忘记摊了怎么办
  • 非公司车辆的使用费如何入账?
  • 财产保险费计入什么科目
  • 提现属于支出吗
  • 电子承兑没接收多久失效
  • 企业所得税税率表2023年最新
  • 有限合伙创投企业
  • 分摊商品进销差额怎么算
  • 如何彻底清洁
  • 苹果电脑删除win系统文件
  • app data文件夹
  • 预提费用冲销需要重新计提吗
  • 长期股权投资的账务处理
  • 一家公司各项费用支出
  • 融资租赁租金计算公式
  • php遍历显示多维数组
  • linux操作系统安装包
  • 个体工商户生产经营所得税税率表2023
  • php官方文档
  • 微信小程序的视频怎么下载
  • 异地工程款预缴
  • 其他非流动资产包括哪些
  • axios和ajax的关系
  • 城镇土地使用税每年都要交吗
  • 小规模纳税人怎么核定税种
  • 快速显示隐藏单元格
  • 织梦建站详细教程
  • 交通费中的高速费指什么
  • 查财务报表的网站有哪些
  • 一般纳税人增值税可以抵扣吗
  • 预付卡发票如何开
  • 税款所属期止是怎么写
  • 买新车检测费
  • 赠送给客户的商品怎么入账
  • 民间非营利组织财务管理制度
  • 应交税费明细科目设置最新
  • 主营业务收入明细科目
  • 帮客户代付保证金合法吗
  • 报销原材料运输费怎么算
  • 出现销项负数
  • 生产用品采购怎么购买的
  • 票据贴现无效如何讨要票据款
  • 以前年度应付款少记怎么入账
  • 财务费用在贷方负数表示什么
  • 管理费用包括哪些
  • 对公支付宝可以转个人银行卡吗
  • 电脑更新win10系统软件
  • ubuntu20 vnc
  • 苹果macbook如何录屏
  • vc++6.0运行程序
  • win10预览版21277下载
  • vsftpd 550错误
  • win8怎么打开管理员命令提示符
  • Ubuntu系统怎么设置IP
  • win7如何运行命令
  • win10系统如何禁用u盘
  • win8系统无法连接网络
  • 关于node.js中的模块化规范
  • jQuery使用$.ajax进行即时验证的方法
  • javascript怎么学
  • 辽宁省国家税务局电话
  • 如何在电子税务局签订三方协议
  • 彩票中500万自己能得多少
  • 国税系统重点领导名单
  • 水产品 免税
  • 税务登记表格怎么填写
  • 预缴税款怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设