onScreenRemove не вызывается (backToScreen)
puritanin opened this issue · comments
Момент ухода экрана с навигации можно отслеживать через onScreenRemove.
Но вызов происходит через LaunchedEffect внутри AnimatedHost, а это работает через рекомпозицию.
Цепочка прямых возвратов, как это делает backToScreen - вызовет onScreenRemove только у последнего целевого экрана,
промежуточные останутся без внимания.
onScreenRemove функция очень важная, хотелось бы гарантированной работы для каждого экрана.
@puritanin , можно описание как повторить проблему, пожалуйста
У меня это обнаружилось в связке с hilt, когда через onScreenRemove происходит уничтожение VM (VM продолжала жить).
Самый простой способ - добавить логгирование, соорудить цепочку экранов и прыгнуть с последнего на первый через backToScreen.