diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt index 82b8767ed..e1357c15c 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt @@ -4,6 +4,8 @@ import android.graphics.drawable.Drawable import android.os.Build import android.util.DisplayMetrics import android.view.View +import androidx.core.view.doOnAttach +import androidx.core.view.doOnDetach import androidx.transition.Transition import androidx.transition.TransitionManager import androidx.transition.Visibility @@ -244,7 +246,13 @@ internal class DivBaseBinder @Inject constructor( true } divView.clearVariablesListener = clearVariablesListener - divView.viewTreeObserver.addOnPreDrawListener(clearVariablesListener) + + divView.apply { + doOnAttach { + viewTreeObserver.addOnPreDrawListener(clearVariablesListener) + doOnDetach { viewTreeObserver.removeOnPreDrawListener(clearVariablesListener) } + } + } } private fun updateSizeVariable(