본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] activity flag 이야기

by 돼지왕 왕돼지 2013. 8. 16.
반응형


 안드로이드, activity flag 이야기

 

[android] activity flag 이야기


참조 : http://developer.android.com/reference/android/content/Intent.html


FLAG_ACTIVITY_SINGLE_TOP


B 에 해당 flag 를 걸어 두었다면..


A->B->B 를 호출한 경우, 최종 stack 은

B

A


이 때 B의 생명주기는 

onPause() -> onNewIntent() -> onResume() 을 탄다.




FLAG_ACTIVITY_NO_HISTORY


마찬가지로 B 에 flag 를 걸어 두어두고


A->B->A 를 호출한 경우, 최종 stack 은

A

A


이 flag 는 다른 앱으로 전환되는 경우에도 destory 된다. 즉 A->B 상태에서 Home 키로 나가면 B 는 이미 destory 된 상태.


이 녀석은 다이얼로그나 알람형 activity 등에 사용하기가 좋다.







FLAG_ACTIVITY_REORDER_TO_FRONT


이 녀석은 괴짜로, 유일하게 stack 을 뒤엎어버린다.


이번에는 A 에 이 flag 를 걸어두고,


A->B->A 를 호출한 경우, 최종 stack 은

A

B


마지막 A 를 호출할때, 가장 아래 있던 A 가 Front 로 올라온다.




FLAG_ACTIVITY_CLEAR_TOP


이번에도 A 에 이 flag 를 걸어두고, 


A->B->A 를 호출한 경우, 최종 stack 은

A




가장 아래 깔려있던 A 가 위의 녀석들을 clear 하면서 launch 되는 것. 이 때 기존에 있던 A 가 그대로 떠오르는게 아니라, destory & create 의 life cycle 을 겪는다. 이를 막고 싶다면, FLAG_ACTIVITY_SINGLE_TOP 을 함께 섞어서 사용해주어야 한다. 이 경우에는 onNewIntent routine 을 타게 된다.



반응형

댓글