티스토리 뷰
AdroidManifest.xml에서 각 Activity 마다 launchMode를 설정하여, Activity의 인스턴스를 어떻게 실행시킬 것인지에 대한 지침을 정의함.
launchMode
- standard : Activity 호출마다 인스턴스를 새롭게 생성
- singleTop : 호출하는 Activity가 Task의 상단에 이미 존재하는 경우, 새로 인스턴스를 생성하지 않고 기존 인스턴스를 사용
- singleTask : Task 내에 Activity의 인스턴스가 하나만 존재하도록 함. ( Ex : MainActivity - Sub1 -> Sub2 일렇게 스택에 쌓여있는데 Sub2에서 MainActivity로 돌아가고 싶으면 새로운 MainActivity 인스턴스를 생성하는 것이 아닌 Sub2와 Sub1을 종료시킴)
- singleInstance : 안드로이드 플랫폼 내에 해당 Activity의 인스턴스는 반드시 하나만 존재하도록 설정
상황에 따라 다르게 Activity를 실행하고 싶을 때는 Intent의 Flag를 이용
- FLAG_ACTIVITY_CLEAR_TASK : TASK를 지운다음 새로운 Activity를 띄움
- FLAG_ACTIVITY_NEW_TASK : Activity 자신이 가진 TASK로 Activity를 띄움
- FLAG_ACTIVITY_CLEAR_TOP : Activity 가 TASK에 존재하면 상단에 있는 액티비티 인스턴스를 종료하여 자신을 최상단으로 배치 ( 근데, 동작은 자신의 인스턴스까지 삭제한 후에 재생성하므로, 자신의 인스턴스를 유지하고 싶으면 singleTop과 같이 이용해야 한다네... )
- FLAG_ACTIVITY_NO_HISTORY : Activity가 Pause되면 Activity 종료
등등....
https://www.youtube.com/watch?v=5BJYa73a4Ng
'android' 카테고리의 다른 글
[android] CustomView (0) | 2020.06.01 |
---|---|
[android] MVVM 디자인 패턴 - AAC (0) | 2020.05.29 |
[android] MIME Type (0) | 2020.05.29 |
[android] android clean architecture - 계속적인 업데이트 필요 (0) | 2020.05.28 |
[android] 안드로이드 개념 - MVC, Singleton, Observer 패턴 (0) | 2020.05.28 |