Android/Task
Task (4.6) - 새로운 task 생성 [launchMode="singleInstance"]
parkho79
2019. 4. 19. 10:30
728x90
새로운 task 생성하기
◼ Manifest
android:launchMode = ["standard" | "singleTop" | "singleTask" | "singleInstance"] |
◼ Intent flag
FLAG_ACTIVITY_SINGLE_TOP |
FLAG_ACTIVITY_NEW_TASK |
FLAG_ACTIVITY_MULTIPLE_TASK |
android:launchMode = "singleInstance"
◼ TaskAffinity 와 상관 없이 무조건 새로운 task 생성.
[Android] - Task (2) - taskAffinity
◼ 새로 생성된 task 내에서는 "singleInstance" 로 설정된 activity 하나만 존재.
(해당 activity 는 root 이면서 top 이 된다.)
◼ "singleInstance" 로 설정된 activity 가 존재하는 상태에서 활성화 할 경우 기존 activity 를 재사용 한다.
(onNewIntent() 호출)
Example
하단은 A1 -> A2 -> A3 -> A4 -> A3 -> A4 activity 를 차례로 활성화 하는 상황이다.
◼ A3 이 singleInstance 이고, A1 -> A2 -> A3 -> A4 activity 를 차례로 활성화
◼ 위 상황에서 A3 -> A4 를 한 번 더 활성화
(A4 는 새로 생성되고, A3 는 재활용 되고 있다.)
Code
A1 activity
A2 activity
A3 activity
A4 activity
Manifest
ADB
adb shell dumpsys activity
728x90