android:clearTaskOnLaunch=true 和android:finishTaskOnLaunch=true区别?

android:clearTaskOnLaunch这个属性用来标记是否从task清除除根Activity之外的所有的Activity,“true”表示清除,“false”表示不清除,默认为“false”。同样,这个属性也只对根Activity起作用,其他的Activity都会被忽略。如果设置了这个属性为“true”,每次用户重新启动这个应用时,都只会看到根Activity,task中的其他Activity都会被清除出栈。如果我们的应用中引用到了其他应用的Activity,这些Activity设置了allowTaskReparenting属性为“true”,则它们会被重新宿主到有共同affinity的task中。

android:clearTaskOnLaunch=true 只放在一个activity Task 的root activity有效,在其他activity设置就无效。 android:finishTaskOnLaunch=true 放 root activity就无效,放在一个 Task 的其他activity就有效。android:clearTaskOnLaunch=true当返回到这个Task时(如按home,在进入到这个Task时) ,除了root activity其他的activity都会被销毁。android:finishTaskOnLaunch=true当返回到这个Task时,该activity会被销毁,其他的不会被销毁。

关于android:clearTaskOnLaunch使用测试,有两种情况 :Activity A(启动界面.android:clearTaskOnLaunch = true)Activity B启动A后,再点击按钮启动B,点击home键,返回到home screen 。(A、B属于同一个栈)a.长按home键,在recent中点击应用图标,显示B界面。b.再点击应用图标,显示A界面
更多请参考:http://www.cnblogs.com/lwbqqyumidi/p/3775479.html
http://stackoverflow.com/questions/5308088/kill-all-activities-when-home-key-is-pressed-android

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容