본문 바로가기
Android/이론

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

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

지난번 ActivityStack Standard에 이어서 SingleTop에 대해서 공부를 해 보았다.

SingleTop

이동하려는 액티비티가 이미 존재하는 경우 새로 만들지 않는다.

Standard때와 다르게 같은 액티비티로 이동하였을 때 액티비티를 새로 만들지 않는다.

 

시험을 위해 manifest에 activity_three를 SingleTop으로 선언해 주었다.

 

 

standard때와 마찬가지로 one -> two -> three로 이동하지만 three에서 three로 이동할 경우 화면이 한번 더 쌓이는 것은 아니다. 

 

그렇기 때문에 standard때와는 다르게 화면을 뒤로 돌렸을때는 이러한 결과가 나온다. 

액티비티 Three화면이 한번더 나오는 게 아닌 바로 Two로 이동하는 것을 알 수 있다.

 

이번에는 화면을 One -> Three -> Two -> Three로 쌓아볼 것이다.

현재 ActivityThree만을 SingleTop으로 설정해 놓았는데 결과가 어떨지 한번 보자.

 

위의 화면에서 이제 화면을 하나씩 돌려 볼 것이다.

결과를 보면 Standard때의 때 처럼 결과가 달라지지 않는다. 

이는 Three가 SingleTop 이지만 맨 마지막에 C를 호출할 때 이전 C가 탑에 있지 않기 때문에 새롭게 만들기 때문이다.

이 때문에 마지막 Three를 한 번더 호출하지 않는 경우에는 Standard를 따른다고 볼 수 있다.

 

댓글