在android中,android活动是以栈的方式进行存储,在栈中的活动不断被重新激活至前台和不断被终止也不断被排序。因此对于栈中的活动管理也是一个比较麻烦的事情。

android给我们提供了两类活动启动方式,

1、将活动重新排序,Intent.FLAG_ACTIVITY_REORDER_TO_FRONT  

如果启动活动栈中已经存在的活动,则在原栈的基础上将此活动置于栈顶,

如果启动活动栈中不存在此活动,则创建该活动并将其置于栈顶。

2、清除已存在的活动Intent.FLAG_ACTIVITY_CLEAR_TOP

如果启动一个已经存在的活动,会将此活动之上的所有活动全部finish掉。

是否会finish所启动的活动,决定于所启动的活动是multiple还是single,默认是multiple,multiple模式会将所启动的活动给finish,single不会将它finish,而是会调用它的onNewIntent()方法。活动的single与multiple可以通过程序清单声明和在Intent中进行说明intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);  

相关文章:

  • 2021-11-19
  • 2021-05-03
  • 2021-07-29
  • 2021-04-30
  • 2021-11-18
  • 2022-12-23
  • 2021-11-19
  • 2021-04-17
猜你喜欢
  • 2021-11-19
  • 2021-06-07
  • 2021-10-22
  • 2021-10-19
  • 2022-12-23
  • 2021-08-18
相关资源
相似解决方案