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

来源:互联网 发布:有意思的java小程序 编辑:程序博客网 时间:2024/06/05 16:04

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界面

0 0
原创粉丝点击