안드로이드 Manifest에서 Activity를 선언할 때 설정할 수 있다.
이 launchMode는 Activity에서 Activity로 전환시 기본은 스택에 쌓이는 구조인데
이 옵션에 따라서 Activity가 스택에 쌓이는 형태가 달라질 수 있다.
설정값 | 의미 |
standard | 스택에 Activity를 쌓는 기본 방식 |
singleTop | 가장 나중에 쌓인 Activity가 실행 될 Activity와 중복된다면 재사용 |
singleTask | 1개의 task에는 1개의 Activity만 존재 없을 경우는 신규 task를 생성 이미 있을 경우 위에 존재하는 Activity를 제거 후 재사용 |
singleInstance | 1개의 task에 1개의 Activity만 존재하고 쌓일 수 없음 singleTask와 달리 Activity가 쌓일 수 없고 없을 경우는 신규 task를 생성 이미 있을 경우 기존 task를 재사용 |
1. standard
매번 Activity를 실행할 때마다 스택에 쌓는 기본 방식
A -> B -> B -> A
![]() |
2. singleTop
스택의 가장 위에 같은 Activity가 있다면 재사용한다.
맨 위가 아니면 새로운 Activity가 추가
재사용 될 경우 onNewIntent()가 호출
A -> B -> B -> A
![]() |
3. singleTask
스택에 Activity가 있으면 그 위의 모든 Activity를 제거하고 기존 Activity를 재사용
스택(task)에 하나만 존재
A -> B -> C -> D -> B
![]() |
4. singleInstance
singleInstance로 설정 된 Activity는 스택(task)에 혼자만 실행된다.
난 실무에서 하나의 장비를 사용하는 Activity인 경우 사용했었다.
A - standard
B - standard
C - singleInstance
D - singleInstance
A -> B -> C -> D
![]() |
'공부 > 안드로이드' 카테고리의 다른 글
RecyclerView Custom 디자인 적용 (0) | 2025.09.05 |
---|---|
Spinner 에 커스텀 이미지 적용 (0) | 2025.09.05 |
런처를 이용하여 Activity간에 클래스 배열 전달(JAVA) (0) | 2025.08.29 |
런처를 이용하여 Activity간에 클래스 배열 전달 (1) | 2025.08.22 |
ProgressBar 에 커스텀 이미지 적용 (0) | 2025.08.22 |