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

Программисты JAVA общаются здесь
Ответить
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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