Task
- Task는 어플리케이션에서 실행되는 액티비티를 Stack의 형태로 보관하고 관리하는 것이다.
- 액티비티들은 실행된 순서대로 Stack에 쌓이게 되는데, 이 Stack을 Back Stack(백스택)이라고 한다.
- 예시)
- 백스택에 액티비티들을 쌓는 방법을 정하는 경우는, LaunchMode와 IntentFlag가 있다.
📎 LaunchMode
- 백스택에 액티비티를 쌓는 방법을 액티비티 자체 속성으로 가지고 있는 경우이다.
- standard, singleTop, singleTask, singleInstance 등이 있다.
- 예) singleTop의 경우 새로 열려는 액티비티가 현재 액티비티이면 onNewIntent()를 호출하여 새로 액티비티를 만드는 것이 아니라 액티비티를 재사용한다.
📎 IntentFlag
- 백스택에 액티비티를 쌓는 방법을 직접 플래그로 지시하는 경우이다.
- FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_SINGLE_TOP, FLAG_ACTIVITY_CLEAR_TOP 등이 있다.
이미 기본 설정이 사용자들에게 익숙한 환경이기 때문에 LaunchMode나 IntentFlag는 정말 이 방법이 사용자들에게 더욱 편리하다고 확신이 들 때를 제외하면 건들지 않는 것이 좋다고 한다.
그러니 일단은 한번 공식 문서를 읽어보고 이해하고 넘어가고 나중에 꼭 필요하다고 생각이 들 때 다시 보자.