예전에 구매했던 '안드로이드 프로그래밍 정복' 책이 정말 좋다는 것을 느낀다.
'이것이 안드로이드다' 책을 통해 다시 복습을 하고 있는데, 이 책엔 내용적으로 부족한 부분이 많다.
따라서 다시 정리할 겸 글을 쓴다.
프로세스
안드로이드 애플리케이션의 실행 단위이다.
부동산 앱을 켜면, 부동산 앱의 메인 액티비티가 실행되고, 하나의 프로세스가 생성된다.
그리고 보통 자기 패키지의 서브 컴포넌트를 호출하겠지만, 다른 패키지의 컴포넌트를 교차 생성할 수 있다.
교차 생성은 다른 운영체제와 구분되는 안드로이드만의 독특한 특징이다.
태스크
작업의 실행 단위.
다른 패키지의 컴포넌트까지 포함하여, '같은 목적'으로 실행되는 컴포넌트의 그룹
태스크는 동일 목적을 위한 액티비티의 집합을 하나의 작업으로 묶음으로써 사용자에게 통합된 경험을 제공한다.
백스택
태스크는 실행되는 액티비티의 순서를 기억하기 위해 액티비티 스택을 유지한다. 이것이 백스택이다.
액티비티에서 다른 액티비티를 호출하면서, 스택이 쌓이게 되고, 뒤로가기를 눌러 액티비티를 종료하게 되면
스택에서 하나씩 지워지게 된다. 사용자경험은 충분히 해봤을 것이다.
이 스택 관리 방법에 영향을 미치는 두 요소가 있는데
하나는 호출하는 쪽에서 지정(인텐트에서 Flag)하는것
하나는 호출 당하는 쪽에서 지정(AndroidManifest.xml)하는 것이다.
흐름 예시
부동산 정보 앱에 매물보기 액티비티가 있다. 이 액티비티에서 부동산의 위치를 지도로 보여주는 방법이 있으면 좋을 것이다.
이 때 별도로 지도를 구현할 필요 없이, 내장 지도 앱의 지도 액티비티를 호출하여 좌표를 건네줄 수 있다.
이때 지도 액티비티가 부동산 태스크 내에서 실행된다. 이것이 교차 생성이다.
1. 부동산 앱을 켜서 메인 액티비티가 실행된다 : 부동산앱의 프로세스 생성, 하나의 태스크가 생성
2. 매물보기 액티비티에서 내장 카메라 기능을 이용한다 : 카메라앱의 프로세스가 생성됨, 카메라 액티비티는 부동산 태스크에 속함
백스택을 보면, 카메라가 부동산 앱 위에서 실행되고 있는 것으로 보인다.
뒤로가기 버튼을 하나씩 눌러보면 깨달을 수 있다. 카메라가 종료되면 홈 화면이 아닌 부동산 앱에 유지된다.
부동산 TASK에 내장 카메라 액티비티가 포함된 것이다.
교차 생성된 경우만 제외하면 태스크는 프로세스와 같은 대상이다.
활용편은 추후 또 업로드한다!
'[Android]' 카테고리의 다른 글
Navigation - Jetpack 활용 ( Feat. ViewModel ) (1) | 2023.01.15 |
---|---|
[공부] 자바와 코틀린의 익명객체 (0) | 2023.01.13 |
JIT vs AOT (0) | 2023.01.10 |
새 책을 구매했다. 그리고 그간 샀던 책들을 모아봤다. (0) | 2023.01.09 |
2016년도에 작성했던 안드로이드 예제 강의들 모음!! (1) | 2022.10.04 |