FLAG_ACTIVITY_CLEAR_TOP

 

FLAG_ACTIVITY_CLEAR_TOP

이 FLAG는 stack 에 남아 있어도 새로 activity를 생성시킨다.

그럼 당연히 새로 생성되길 기대하는 것이 상식적인 생각이다.

하지만

FlAG 이외의 특성때문에

상식밖의 동작을 할 수 있다.

 

A -> (B/A) 0> (A/B) -> B 를 만들기 위해

1. A -> B (FLAG_ACTIVITY_REORDER_TO_FRONT)

2.B -> A (flag 값이 default 이지만 xml 에서 launchMode 가 singleTop 일때 )

3.A -> B ( FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP)

 

당연히 B는 새로 생성되어야 한다.  (onCreate가 되어야 한다. )

그리고 이때 Sysem.exit(0); 을 하면 OnCreate 시킨다.

하지만 아직도 이해가 잘 안간다 조금더 연구해 봐야 겠다.

댓글은 닫혔습니다.