액티비티는 액티비티 매니저(Activity Manager)라는 객체에 의해 액티비티 스택(Activity Stack)이라는 것으로 관리됩니다.
액티비티를 여러번 실행하다 보면 동일한 액티비티들이 스택에 들어가게 되는데 이를 방지하게 위해 플래그(flag)를 사용합니다.
대표적인 플래그 3개만 알아보겠습니다.
1. FLAG_ACTIVITY_SINGLE_TOP
액티비티를 실행할 때 이미 생성된 액티비티가 있으면 그 액티비티를 그대로 사용하라는 플래그입니다.
주의할 점 ❕
동일한 액티비티가 연속적으로 생성될 때만 적용됩니다.
[A] [B] [B] ≫ [A] [B] ( 적용 ○ )
[A] [B] [A] ≫ [A] [B] [A] ( 적용 × )
2. FLAG_ACTIVITY_NO_HISTORY
이 플래그를 사용한 이후에 실행된 액티비티는 액티비티 스택에 추가되지 않습니다.
3. FLAG_ACTIVITY_CLEAR_TOP
이 플래그는 액티비티 스택에 기존에 있던 액티비티와 동일한 액티비티가 실행될 경우 기존에 있던 액티비티만 남기고 기존 액티비티 위에 있는 나머지들은 모두 종료시킵니다.
'_ > Android' 카테고리의 다른 글
[Android] 버튼 클릭 시 화면 전환하기(startActivityForResult() 사용법) (1) | 2020.09.07 |
---|---|
[Android] 토스트(Toast) 메시지 이용하기 (2) | 2020.08.27 |