Я столкнулся с подобной проблемой.Я держал ссылку на Закусочную.После удаления этой ссылки утечка памяти исчезла.
Обновление
Например, замените
val snackbar = Snackbar.make(rootLayout, "Hello Snackbar", Snackbar.LENGTH_INDEFINITE)
snackbar.show()
на
Snackbar.make(rootLayout, "Hello Snackbar", Snackbar.LENGTH_INDEFINITE).show()
Я не знаю, почему это решило мою проблему.Я не смог воспроизвести эту утечку памяти в других проектах.На основании трассировки стека кажется, что BaseTransientBottomBar.onDetachedFromWindow()
не вызывается системой, поэтому touchExplorationStateChangeListener
не удаляется из accessibilityManager
.Опять же, я не знаю, почему это произошло.Ниже приведен код для BaseTransientBottomBar.onDetachedFromWindow()
.
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
if (this.onAttachStateChangeListener != null) {
this.onAttachStateChangeListener.onViewDetachedFromWindow(this);
}
AccessibilityManagerCompat.removeTouchExplorationStateChangeListener(this.accessibilityManager, this.touchExplorationStateChangeListener);
}