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

你可能感兴趣的:(android:clearTaskOnLaunch=true 和android:finishTaskOnLaunch=true区别?)