액티비티가 어떻게 쌓이는지에 대한 Activity Sstack을 알아보자
Activity Stack
- 기본적으로 LIFO형태를 가진다.
- 후입선출 형태로 (Last in, First out)
- 모든 종류를 다 알 수는 없다.
- stack을 혹시라도 관리 할 일이 생겼을 경우 launchMode, Flag를 찾아보자(화면이 쌓이는 형태말고도 여러 일을 할 수 있다.)
주의점
- stack은 될 수 있으면 건들지 않는 것이 좋다.
- 스마트폰을 오래 사용하면서 사용자들이 예상하는 움직임이 있는데 이를 벗어 났을때 불편을 느낄수도 있다.
- 복잡한 부분이기 때문에 명확한 의도를 가지지 않는다면 예상과 다르게 꼬일수도 있다.
- 안드로이드 공식 문서에서도 강조하고 있다.
- 만약 건든다면 분명한 의도를 가지고 접근 해야한다.
Acitivity Stack 관리
- Manifest를 이용한 관리
- launchMode를 이용하여 관리 한다.
- Manifest의 해당 액티비티 부분에 launchMode로 적용가능
- IntentFlag를 이용한 관리
- Intent.addFlags() 메서드 또는 Intent.setFlags() 사용한다.
Standard
가장 기본적인 형태이다.
One, Two, Three 라는 액티비티가 있다고 할 때
순서대로 호출을 한다고 하면 밑의 사진과 같이 호출한 순서대로 액티비티가 쌓이게 된다.
standard의 경우 여기에서 동일한 액티비티를 호출하여도 똑같이 쌓이게 된다.
아래 예제를 보자
Activity One, Two, Three 가 있다.
순서대로 One -> Two -> Three로 이동 한후 Three에서 ->Three로 이동하는 과정을 거친후 뒤로가기를 하여 후입선출을 확인 해보면
아래와 같은 순서대로 화면을 빠져나가는 것을 알 수 있다.
Three -> Three -> Two -> One
'Android > 이론' 카테고리의 다른 글
안드로이드 액티비티 라이프 사이클 (0) | 2024.04.08 |
---|---|
NetWork(네트워크) (1) | 2023.11.23 |
[안드로이드] Activity Stack(액티비티 스택) singleTask (2) | 2023.11.20 |
안드로이드] Activity Stack(액티비티 스택) SingleTop (0) | 2023.11.16 |
댓글