[Android] Activity 重复使用

 

  • Intent intent = new Intent(A.this, B.class);    
  • intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);

 

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT:

If set in an Intent passed to Context.startActivity(), this flag will cause the launched activity to be brought to the front of its task‘s history stack if it is already running.

For example, consider a task consisting of four activities: A, B, C, D. If D calls startActivity() with an Intent that resolves to the component of activity B, then B will be brought to the front of the history stack, with this resulting order: A, C, D, B. This flag will be ignored if FLAG_ACTIVITY_CLEAR_TOP is also specified.

当你依次打开四个Activity A, B, C, D(没有finish), 如果在D的时候想startActivity B, 那么系统会检测到B已经在task 栈里, 并且把B提到栈顶,这个过程没有新建B.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。