개발노트/Android
Android : launchMode - Activity를 시작하는 방법
전지적진영시점
2022. 5. 13. 23:53
안녕하세요 전진시입니다
이번 포스팅에서는 launchMode에 대해 작성하겠숨메
activity가 호출될 때 작동하는 모드가 4가지 있습니다
- standard. <- 기본모드
- singleTop
- singleTask
- singleInstance
다섯가지 모드 각각의 개념을 보면
standard
- dafault 모드이며 task마다 새 인스턴스를 생성한다
- standard 모드는 다중 인스턴스를 지원한다.
singleTop
- singleTop 모드는 조건부로 다중 인스턴스를 지원한다
- 만약 내가 호출하려는 액티비티가 스택 맨 위에 있다면 onCreate() -> onResume() 를 호출하지 않고 onNewIntent() -> onResume()을 호출하여 인스턴스를 두개 생성하는 것이 아닌 오버라이딩을 해준다
singleTask
- Task에 해당 Activity가 한개만 존재한다
- 만약 동일한 task affinity 가 있는 경우에 해당 액티비티가 존재한다면 새로 생성하지 않고 onNewIntent()를 호출한다
singleInstance
- 시스템이 인스턴스를 보유하고 있는 Task에서 다른 작업을 호출하지 않는다.
- singleInstace 모드의 activity는 해당 작업의 단일 멤버라고 볼 수있다 이 점을 제외하면 singleTask와 같다