2021. 1. 27. 21:00ㆍStudy
Intent Flag
Android 에서 Activity를 호출하다보면 중복 문제가 발생합니다.
중복이 발생했을 때, 중복을 방지하고 Activity의 흐름을 제어할 때 Intent Flag를 사용합니다.
Task
Task는 Stack구조이며, 어플리케이션에서 실행되는 Activity를 보관하고 관리하는 관리자 역할을 합니다.
Ex) SecondActivity
MainActivity
SplashActivity
(차곡차곡 쌓이는 스택 구조)
사용법
Manifest
<activity android:launchMode= “속성”></>
속성은 총 4가지로
standard : Stack 영역 중 모든 곳에 위치 할 수 있으며 복수의 인스턴스가 생성 가능합니다.
singleTop : Stack 영역 중 모든 곳에 위치 할 수 있으며 복수의 인스턴스가 생성 가능합니다.
호출한 Activity와 최상위 Activity가 동일한 경우 최상위 Activity가 재사용되고, 기존 최상위 Activity는 pop() 처리됩니다.
singleTask : Root Activity로만 존재하며 하나의 인스턴스만 생성 가능합니다.
다른 Activity 실행시 동일 Task 내에서 실행 가능합니다.
singleInstance : Root Activity로만 존재하며 하나의 인스턴스만 생성 가능합니다.
Task 내에 해당 Activity 하나만 속할 수 있으며, 다른 Activity를 실행시키면 새로운 Task가 생성되어 그 Task에 포함되게 됩니다.
Source Code
kotlin
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
java
Intent intent = new Intent(this, MyActivity.class);
intent.addFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
다른 속성은 아래 Android developers 래퍼런스를 확인해주세요
'Study' 카테고리의 다른 글
HashSet, LinkedHashSet, TreeSet의 특성과 차이 (2) | 2021.02.10 |
---|---|
Wrapper Class와 Boxing, UnBoxing, AutoBoxing, AutoUnBoxing (0) | 2021.02.03 |
mutable 과 immutable (6) | 2021.01.20 |
Critical Section이란 무엇일까? (0) | 2020.12.23 |
DeadLock이란 무엇일까? (0) | 2020.12.16 |