본문 바로가기
Android

[Android] FLAG_ACTIVITY_SINGLE_TOP 와 FLAG_ACTIVITY_CLEAR_TOP 차이점

by 박매트 2024. 11. 19.
  1. Intent.FLAG_ACTIVITY_SINGLE_TOP
    • 이 플래그는 현재 Task의 최상단에 동일한 Activity가 이미 있다면 새로 생성하지 않고 기존 Activity의 onNewIntent() 메서드를 호출합니다.
    • 조건: 동일한 클래스의 Activity가 Task의 최상단에 있어야 합니다.
  2. Intent.FLAG_ACTIVITY_CLEAR_TOP
    • 이 플래그는 스택에 동일한 Activity가 이미 존재하는 경우, 해당 Activity 위의 모든 Activity를 종료합니다.
    • 종료 후, 동일한 Activity는 새로 생성하거나 onNewIntent()를 호출합니다. 어떤 동작이 발생할지는 Intent.FLAG_ACTIVITY_SINGLE_TOP의 유무에 따라 달라집니다.

 

플래그에 따라 기존 화면을 다시 그릴 지, 유지할 지를 결정할 수 있다는 사실을 깨달았다...