티스토리 뷰

Android App Coding

작업 관리(태스크) Task

IT Knowledge Share 2021. 7. 8. 17:07
반응형

액티비티 여러 개가 불러오면, 스택 형태로 쌓이게 됩니다.

 

작업 관리, 즉 태스크를 액티비티 한 개로 이해하시면 수월합니다. 

 

따라서 스택 형태로 태스크가 쌓이는데 이를 관리할 수 있습니다. 보통 자동적으로 잘 관리되므로 왠만하면 건드리지 않는 것이 좋습니다. 작업 관리가 꼬이면 화면이 넘어가지 않는 등 앱이 충돌할 수 있기 때문입니다.

 

작업 관리는 다음의 두 가지 방법으로 관리됩니다.

1. 런치 모드(Launch Mode): 액티비티가 켜지는 것을 자체 속성으로 가지고 있는 경우입니다.

2. 인텐트플래그(IntentFlag): 액티비티가 켜지는 방법을 직접 지시하는 경우입니다.

 

반응형

런치 모드는 다음의 4가지 종류로 나뉘게 됩니다.

1. 스탠다드 모드(Standard)

2. 싱글탑 모드(Single Top)

3. 싱글태스크 모드(Single Task)

4. 싱글인스턴스 모드(Single Instance)

 

가장 일반적인 모드는 스탠다드 모드입니다. 스탠다드 모드와 싱글탑 모드는 다중스택을 허용하지만, 싱글태스크 및 싱글인스턴스 모드는 다중스택을 허용하지 않습니다. 싱글탑 모드의 경우, 다중스택을 조건적으로 허용하는 데, 스택의 경우, 액티비티A가 실행되고, 액티비티B가 실행되었다고 가정할 때, A위에 B가 쌓이게 됩니다. 이 때, 다시 A를 실행하면, A가 B위로 새로 형성되거나, B아래에 있던 A가 다시 B위로 올라올 수 있습니다. 이러한 경우가 모두 허용되는 것이 다중스택을 허용하는 의미입니다. 싱글탑 모드의 경우, 열려고 하는 액티비티가 현재 액티비티인 경우에 A가 B위로 다시 올라오기 보다는, onNewIntent를 호출합니다.

 

인텐트플래그는 여러 종류가 있는데, 주로 사용되는 종류는 다음과 같습니다.

1. FLAG_ACTIVITY_NEW_TASK
2. FLAG_ACTIVITY_SINGLE_TOP
3. FLAG_ACTIVITY_CLEAR_TOP

 

좀 더 자세한 설명은 공식 문서를 참조하시기 바랍니다.

developer.android.com/guide/components/activities/tasks-and-back-stack?hl=ko

 

작업 및 백 스택 이해  |  Android 개발자  |  Android Developers

일반적으로 앱에는 여러 활동이 포함됩니다. 각 활동은 사용자가 실행할 수 있는 특정 종류의 작업을 중심으로 설계되어야 하며 다른 활동을 시작할 수 있어야 합니다. 예를 들어 이메일 앱에는

developer.android.com

 

반응형
댓글