티스토리 뷰
액티비티 여러 개가 불러오면, 스택 형태로 쌓이게 됩니다.
작업 관리, 즉 태스크를 액티비티 한 개로 이해하시면 수월합니다.
따라서 스택 형태로 태스크가 쌓이는데 이를 관리할 수 있습니다. 보통 자동적으로 잘 관리되므로 왠만하면 건드리지 않는 것이 좋습니다. 작업 관리가 꼬이면 화면이 넘어가지 않는 등 앱이 충돌할 수 있기 때문입니다.
작업 관리는 다음의 두 가지 방법으로 관리됩니다.
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 App Coding' 카테고리의 다른 글
프래그먼트 매니저와 트랜잭션 FragmentManager/Transaction (0) | 2021.07.08 |
---|---|
프래그먼트 Fragment (0) | 2021.07.08 |
인텐트 Intent (0) | 2021.07.08 |
View를 Activity로 가져오기 (0) | 2021.07.08 |
액티비티 생명주기 Activity Lifecycle (0) | 2021.07.08 |
- Total
- Today
- Yesterday
- ToDo List 앱 만들기
- 안드로이드 어댑터
- 대한민국 미제사건
- 탭레이아웃
- 상대적 레이아웃
- tabLayout
- 선형 레이아웃
- 애드뷰
- 리사이클러뷰
- 리스트뷰
- android adapter
- 2021년 사건사고
- view binding
- lazy init
- 뷰 바인딩
- bmi 계산기 만들기
- addView
- 안드로이드 프로젝트
- findViewById
- 인텐트
- 메소드 오버라이딩
- 안드로이드 스튜디오 에러
- notifyDataSetChanged
- 2019년 사건사고
- 자바스크립트 배열
- Bmi Calculator
- 미제사건
- RecyclerView
- 안드로이드 앱 만들기
- 2007년 사건사고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |