Android

Android - Tasks (작업) 그리고 BackStack

TechNote.kr 2016. 1. 5. 23:15
728x90

이전 글인 구성요소, Activity 에서 확인했듯이,

기본적으로 하나의 APP은 여러개의 Activity로 구성되어 있으며, 각 Activity는 서로 다른 Activity를 호출할 수 있다. 같은 APP내의 Activity 뿐만 아니라 다른 APP내의 Activity까지 호출이 가능하다.


예를 들어 카메라 앱에서 사진은 찍은 후, 갤러리 앱으로 넘어가 찍은 사진을 확인한다거나

Web browser 내에서 관심있는 APP을 검색 중 APP market으로 바로 넘어가 다운로드 받는 등의 경우이다.


이렇게 다른 APP의 Activity 를 자유롭게 호출하여 넘어갈 수 있다보니 APP간에 경계가 없다고 볼수 있는데,

이로인해 Activity는 Application 단위보다는 Task라는 개념의 단위로 이해하는 것이 적절하다.


Task는 Activity Collection 이라고 볼수 있다. 

이 Activity들은 호출될 때마다 BackStack이라는 공간내에 차곡차곡 쌓여 정렬되는데, 같은 APP의 Activity이건, 다른 APP의 Activity 이건간에 호출되는 대로 Task의 BackStack에 쌓이게 된다.


그렇다면 신규 Task가 생성되고, BackStack의 제일 처음에 쌓이게 되는 Activity는 무엇일까.

사용자가 application menu에서 App을 처음 실행할 때 해당 App의 기본 Activity가 BackStack의 가장 처음 Root Activity로 쌓이게 된다.


Home key 그리고 Task


다중 Task의 개념을 더욱 잘 설명할 수 있는 경우는 다음과 같다.

기본적으로 여러 Task가 생성되기 위해서는 기존 Task를 종료하지 않고, 새롭게 Application을 시작하여야 하는데, 이를 가능하게 하는 것이 바로 Home Key이다.


하나의 Task실행 중 Home key로 Home Screen으로 나와 다시 새로운 App을 선택해 Task를 만드는 것이다.

이와 같이 Task는 여러개가 동시에 존재할 수 있으며, 서로 독립적으로 서로 영향을 주지 않는다.



728x90