1,静态设置activity的launchmode是在xml中配置activity标签的launchmode属性,就不多做介绍了

 

 

2,主要记录下动态设置activity的launchmode的  singleInstance和  singleTask

 

singleTask是当前任务栈中只有一个(a_activity),跟app其他activity同属一个task,并且复用当前a_activity时,会移除a_activity上面的其他activity

动态设置时可以使用  

Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP

达到singleTask的 效果

 

singInstance是跟app其他activity不在同一个任务栈,是一个单独的任务栈,intent中有个FLAG_ACTIVITY_NEW_TASK,如果单独使用这个flag,会发现新activity和之前的activity是在同一个task中的,需要搭配设置activity的taskAffinity属性一起使用,因为FLAG_ACTIVITY_NEW_TASK是会查找activity对应的taskAffinity,而一般activity的taskAffinity对应的是包名,如果没有特殊设置taskAffinity,会导致FLAG_ACTIVITY_NEW_TASK不生效

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2022-03-09
  • 2021-10-12
  • 2022-12-23
  • 2021-09-19
猜你喜欢
  • 2022-01-07
  • 2021-07-21
  • 2022-12-23
  • 2021-09-28
相关资源
相似解决方案