늘 겸손하게

안드로이드 홈 액티비티로 이동하기 본문

Programming/Android

안드로이드 홈 액티비티로 이동하기

besforyou999 2021. 8. 13. 12:23

 

안녕하세요 besforyou 입니다

 

이번 글에서는 홈 액티비티로 이동하는 방법에 대하여 소개하겠습니다.

 


액티비티를 여러 개 구현하고 원하는 작업을 완료한 뒤 메인 액티비티로 이동 가능하게 하려면 어떻게 해야할까요?

 

액티비티 간의 이동은 Intent 클래스를 이용하는것을 아실겁니다.

 

이 Intent에 적절한 플래그를 추가하고 실행시키면 원하는 액티비티로 이동이 가능합니다.

 

 

예시

1
2
3
4
5
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
cs

 

 

위의 예시와 같이 새로운 intent를 생성하고 플래그로

 

FLAG_ACTIVITY_CLEAR_TOP , FLAG_ACTIVITY_SINGLE_TOP 을 주어 실행시키면 MainActivity로 이동이 가능합니다.

 

 

FLAG_ACTIVITY_CLEAR_TOP 

간단히 현재 액티비티에서 다른 액티비티로 이동하는데, 액티비티와 액티비티 중간에 있었던 액티비티를 스택에서 모두 지우라는 플래그입니다. 이 플래그가 없으면 스택에 사용하지 않는 액티비티가 쌓이게되어 메모리 낭비가 발생하고 이동 중간에 액티비티가 출력되어 UI 흐름을 망칩니다.

 

FLAG_ACTIVITY_SINGLE_TOP

출력하려는 액티비티가 스택의 top에 이미 존재한다면 새로 만들지않고 재사용하겠다라는 의미의 플래그입니다. 같은 액티비티를 다시 만드는 불필요한 작업을 생략할 수 있습니다.