首页 Activity启动模式总结

Activity启动模式总结

举报
开通vip

Activity启动模式总结Activity启动模式总结 1.在standard启动模式下,A启动了B(标准模式),那么B会进入到A所在的任务栈中 2.当使用非Activity的Context启动standard模式的Activity的时候会报错们因为standard模式的Activity默认会进入启动它的Activity的任务栈中,由于非Activity类型的Context并没有所谓的任务栈,所以被启动的Activity不知所去 解决办法:为待启动的Activity指定FLAG_ACTIVITY_NEW_TASK标记位,这时候启动的时候...

Activity启动模式总结
Activity启动模式总结 1.在standard启动模式下,A启动了B( 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 模式),那么B会进入到A所在的任务栈中 2.当使用非Activity的Context启动standard模式的Activity的时候会报错们因为standard模式的Activity默认会进入启动它的Activity的任务栈中,由于非Activity类型的Context并没有所谓的任务栈,所以被启动的Activity不知所去 解决 办法 鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载 :为待启动的Activity指定FLAG_ACTIVITY_NEW_TASK标记位,这时候启动的时候就为他创建了一个新的任务栈,同时这时候实际是以singleTask启动的。 3.singleTop模式启动(栈顶复用模式),若栈顶存在则会调用onNewIntent方法。 4.singleTask(栈内服用模式)是一种单实例模式。在这种模式下,只要被启动的Activity在所需要的任务栈中,那么多次启动都不会创建新的实例,系统会将该Activity所需要的任务栈中在它之上的Activity回退掉,然后调用它的onNewIntent方法。 具体一点就是:A请求B以singleTask的模式启动,系统寻找B所需要入栈的任务栈,若该任务栈存在且任务栈中有B,则回退掉该任务栈中B之上的Activity并调用它的onNewIntent方法,若该任务栈存在但没有B则创建B并将B压入该任务栈,若该任务栈不存在,则创建该任务栈然后创建B并将B压入栈中。 5.singleInstance:单实例模式,加强版的singleTask模式,具有singleTask的全部特性,除此之外以该方式启动的Activity只能单独的存在一个任务栈中 具体:A请求B以singleInstance的方式启动,系统寻找B所在的任务栈,若该任务栈存在(该栈是B独有的,不可能有其他Activity),则复用该Activity(栈 内复用性),若不存在则创建该栈并创建B实例压入栈中。除非系统销毁这个独特的任务栈,否则该Activity启动时会一直被复用。 6.所需任务栈的概念:TaskAffinity:任务相关性,这个参数标识了一个Activity所需要的任务栈的名字,默认情况下,所有Activity所需的任务栈的名字都为应用的包名,当然开发中也可以单独指定TaskAffinity属性,属性值不能喝包名相同。TaskAffinity属性主要和singleTask启动模式或者allowTaskReparenting属性配对使用,在其他情况下意义不大。 7.当TaskAffinity和singleTask启动模式配对使用的时候,它是具有该模式的Activity的当前任务栈的名字,待启动的Activity会运行在名字和TaskAffinity相同的任务栈中 8.任务栈分W为前台任务栈和后台任务栈,后台任务栈中的activity处于暂停状态,用户可以通过切换将后台任务栈切换到前台。 9.通过标记位设置的Activity启动模式优先级高于清单文件中通过launchMode设置的优先级。 10.allowTaskReparenting:具体例子:应用A和应用B,A中的任意Activity启动了B中的Activity C,C设置了allowTaskReparent为true,A启动B中C的时候,C会运行在A的任务栈中,但是C属于B应用,正常情况下,他的任务栈不可能和A相同(包名不同),所以,B被启动后,B创建了自己的任务栈,这时候系统发现C原本想要的任务栈被创建了,并且allowTaskReparenting为true,所以C从A的任务栈中转移到了B的任务栈中。 11.Activity的Flags:FLAG_ACTIVITY_CLEAR_TOP,具有此标记位置的Activity,当他启动时,在同一个栈中所有位于他上面的Activity都要被出栈,这个模式一般要配合FLAG_ACTIVITY_NEW_TASK配合使用,此时,如果栈中被启动的Activity实例已经存在,那么系统会调用它的onNewIntent,如果被启动的Activity采用standard模式,那么它连同它之上的Activity都要出栈,系统会创建新的Activity示例并放入栈顶。
本文档为【Activity启动模式总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_431304
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:0
分类:企业经营
上传时间:2018-04-14
浏览量:5