Simple&Natural

Navigation Component Default BackStack 문제 본문

안드로이드(Android)/이슈 및 해결

Navigation Component Default BackStack 문제

Essense 2020. 10. 21. 12:18
728x90

Navigation Component의 경우 항상 startDestination을 Defulat Backstack으로 유지한다.

 

 

 


The back stack always has the start destination of the app at the bottom of the stack.

 

출처: developer.android.com/guide/navigation/navigation-principles


 

즉 해당 Fragment는 다른 Fragment로 이동해도 파괴되지 않고 살아남기 때문에 viewModelScope 관련 작업 시 불편함 점이 생긴다.

 

내 경우 BottomNavigation에서 Fragment 이동시 기존의 Fragment는 파괴되어야 하는데 

항상 Default BackStack이 유지되다 보니 Fragment가 파괴되지 않고 남아있는 상황.

 

lifecycle을 적절하게 이용하는 게 최선으로 보인다.

 

그 외의 방법은 수많은 코드로 이루어진 유틸을 따로 만들거나 좀 자연스럽지 못한 방법이라 배제하였다.

문제를 복잡하게 풀면 관리도 복잡해진다.

 

 

 

 

stackoverflow.com/questions/57310668/navigation-should-pop-back-stack-instead-of-returning-to-start-destination

 

Navigation should pop back stack instead of returning to start destination

My Activity has a NavHostFragment and a BottomNavigationView in its layout. The NavHostFragment has a main_navigation_graph which contains four Fragments in it. Their ids matching the

stackoverflow.com

stackoverflow.com/questions/60496909/android-navigation-components-how-to-pop-startdestination-off-the-back-stack

 

Android Navigation Components - How to pop startDestination off the back stack?

I have a single activity app that uses the Android Navigation Component for navigation. When a user launches my app, I want to show a Welcome Fragment that lets them choose how they'd like to work ...

stackoverflow.com

 

728x90