Когда я устанавливаю приложение на свой телефон через Android Studio, я сталкиваюсь со странной проблемой.
У меня есть SplashFragment в моей основной активности, который является начальной точкой назначения моего nav_graph. В MainActivity у меня есть NavHostFragment, содержащий nav_graph.
Мой SplashFragment, кажется, запускается 2 раза, что приводит к сбою, поскольку SplashFragment перенаправляет пользователя на другой фрагмент через несколько секунд с помощью функции навигации NavController.
Интересно, что это происходит только в первый раз после установки и только тогда, когда я устанавливаю приложение через Android Studio. То есть, когда я делаю apk-файл и устанавливаю его на свой телефон или уже установил приложение на свой телефон, этого не происходит.
Я попробовал этот код, чтобы записать, сколько раз вызывается onCreate моего SplashFragment:
переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val backStackEntries = findNavController().currentBackStack.value logger(backStackEntries.last().id, "НЕИЗВЕСТНО") logger(backStackEntries.map { it.destination.displayName }, "НЕИЗВЕСТНО") logger(++splashViewModel.count, "НЕИЗВЕСТНО") } а потом я увидел эти журналы:

В стеке только один экземпляр SplashScreen, но каким-то образом метод onCreate вызывается несколько раз.
Еще раз отмечу, что это происходит только в первый раз после установки и только тогда, когда я устанавливаю приложение через Android Studio.