Мы столкнулись с проблемой утечки памяти в прослушивателе. Даже мы удаляем прослушиватель в onDestroyView(), но он остается активным и не отключается должным образом.
Мы используем этот прослушиватель для скрытия/показа нижней панели всякий раз, когда клавиатура открыта, поэтому, если кто-нибудь есть альтернативное решение, оно также работает для меня ИЛИ нужно исправить утечку памяти
Я был бы благодарен, если бы кто-нибудь дал мне какое-либо предложение или руководство
-- ->> ЗДЕСЬ КОД:
// global variable at fragment
private val bottomBarVisibilityLayoutListener = ViewTreeObserver.OnGlobalLayoutListener {
//...custom code for show/hide bottom bar
println("Listener call")
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Add the listener
binding.clRoot.viewTreeObserver.addOnGlobalLayoutListener(bottomBarVisibilityLayoutListener)
}
override fun onDestroyView() {
// Safely remove the listener to avoid memory leaks
viewTreeObserver.removeOnGlobalLayoutListener(bottomBarVisibilityLayoutListener)
super.onDestroyView()
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... t-detached