位置: 编程技术 - 正文

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

  • 只有增值税专用发票才能抵扣进项吗
  • 记账凭证核算形式是会计核算中最基本的核算形式
  • 积分换物品是真的吗
  • 合作社收到政府补助款怎么做分录呢
  • 生产工人工资和福利费是产品成本项目对吗
  • 员工福利费可以公账出吗
  • 信息技术服务费计入什么会计科目
  • 红线范围外增加的工程量
  • 土地增值税税收优惠
  • 税务系统有问题
  • 劳务公司核定征收怎么交税的
  • 冲销已结转的成本
  • 汽车销售公司办公室周末上班吗知乎
  • 收购烟叶委托加工烟丝组成计税价格
  • 分公司亏损还会分摊所得税吗
  • 专票和国税额差很多
  • 价税合计啥意思
  • 税务局代增值税普通发票流程
  • 物业公司要怎么开水电费证明
  • 土地出让金为何写有效期
  • 出口企业免抵增值税
  • 装修费用如何做分录
  • 汇算清缴发票可以做费用票吗
  • 企业投资股票取什么名字
  • 出口企业内销商怎么做
  • 贸易公司买进卖出
  • 其他应付款无法支付的账务处理方法
  • PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
  • 工程发票可以用材料发票抵扣吗
  • 业务招待费财务管理制度
  • 结转损益类收入科目分录
  • 竣工结算审计费用在线计算器
  • 销售赔偿款增值税和所得税
  • kicad视频教程 百度网盘
  • css的transition滑动效果
  • 免税农产品发票怎么抵扣申报
  • 增值税发票怎么领取
  • 收伙食费入什么科目
  • sql函数判断一个值是否是数字
  • 金税四期一般纳税人开票先票后款行吗
  • 1元换购的商品是正品吗
  • 个体工商户所得税率
  • 收到发票未抵扣,收票方也可以开红字信息表吗?
  • 调整期初库存商品分录
  • 二手车融资租赁被骗怎么投诉
  • 营业账簿印花税怎么申报
  • 法人网上变更流程
  • 母公司与子公司的区别
  • 接受慈善捐款结尾怎么写
  • xp系统无法启动怎么办
  • Windows Server 2008:手足之争下的赢家
  • winscope是什么意思
  • linux系统文件压缩命令
  • windows xp 开机
  • winxp如何打开控制面板
  • window8.1重装系统
  • 无线和网络飞行模式
  • Win7系统打开蓝牙
  • Intermediate Unity 3D for iOS: Part 1/3
  • mingw 编译
  • excel 级联
  • node.js常用命令
  • linux 删除inode
  • vue scoped属性作用?实现原理
  • shell脚本运行linux命令
  • string剪切
  • js dom方法
  • itween常用方法
  • Unity 管理www类访问的写法
  • js tab切换
  • 换电脑了税控盘怎么办
  • 济阳二七大集
  • 税务师事务所牌匾
  • 广西12366社保缴费APP
  • 税控盘怎么分发
  • 税务局查帐怎么查
  • 2023年河北居民养老保险缴费时间
  • 地税逾期了怎么申报
  • 中小微企业包括一般纳税人吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设