Task와 Stack, Affinity, Flag

Lee HyeongJong·2023년 4월 7일
0

안드로이드

목록 보기
40/43

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내에서 실행이 가능하다

출처

https://arabiannight.tistory.com/153

profile
코딩을 시작해보자

0개의 댓글