본문 바로가기
Android/이론

[안드로이드] Activity Stack(액티비티 스택) Standard

by 둥글레차35 2023. 11. 14.

액티비티가 어떻게 쌓이는지에 대한 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

댓글