1. Task란?
- Application에서 실행된 Activity들을 담아두는 상자
- Task는 어플리케이션에서 실행되는 액티비티를 보관하고 관리하며 Stack형태의 연속된 Activity로 이루어진다
- 선입후출
- 최초적재 액티비티는 Root Activity 라고 하며 어플리케이션 런처로부터 시작된다
- 마지막으로 적재되는 액티비티는 Top Activity 라고 하며 현재 화면에 활성화 되어있는 액티비티를 말한다
2. Affinity란?
- 어플리케이션 내의 액티비티들은 하나의 어피니티를(affinity:친화력) 가지고 있다
- 위 조건이 만족한 상황에서 시작된 액티비티는 자신과 동일한 어피니티를 갖는 태스크가 있을경우 해당 태스크로 이동한다
3. Flag란?
- AndroidManifest 에서 플래그를 사용할때에는 요소의 launchMode 속성을 사용하며 launchMode에서 사용가능한 속성은 다음과 같이 4가지만 가능하다
- standard : 스택중 어느곳에나 위치 가능하며 여러개의 인스턴스가 생성가능하다
- singleTop : 스택중 어느곳에나 위치 가능하며 여러개의 인스턴스가 생성가능하고 호출한 activity와 현재 최상위 activity가(top activity) 동일한 경우 최상위 activity가 재사용 된다(기존 최상위 activity는 pop)
- singleTask : 루트 액티비티로만 존재하며 하나의 인스턴스만 생성가능하다(타 task에서 동일 activity 사용불가)
다른 액티비티 실행시 동일 Task내에서 실행이 가능하다
Reference
'Android > Android Java' 카테고리의 다른 글
[Android Java] Matcher, Pattern 정규식 (1) | 2023.10.30 |
---|---|
[Android Java] StringBuffer (0) | 2023.10.30 |
[Android Java] Task Hijacking (CVE-2021-33699) 대응 (0) | 2023.10.30 |
[Android Java] Unsupported class file major version 55 (0) | 2023.10.30 |
[Android Java] Cursor (0) | 2023.10.30 |