Android — ViewTreeObserver.OnGlobalLayoutListener не отключен ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Android — ViewTreeObserver.OnGlobalLayoutListener не отключен

Сообщение Anonymous »

Мы столкнулись с проблемой утечки памяти в прослушивателе. Даже мы удаляем прослушиватель в 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

Вернуться в «Android»