*I’m encountering an issue when using `AndroidView...
# compose
f
I’m encountering an issue when using
AndroidViewBinding
and I think it may be an point worth optimizing:
AndroidViewBinding
’s
update
block is invoked at least twice. Even when the update lambda is empty:
Copy code
AndroidViewBinding(factory = AnyBinding::inflate) {
  // ...
}
🤔 1
Maybe we can optimize it in the following way: Since a new instance of
update
block is created every recomposition, it’s better to remember it before passing it to `AndroidView`:
Copy code
val updateBlock = remember {
  { viewBindingRef.value?.update() }
}
AndroidView(
    factory = viewBlock,
    modifier = modifier,
    update = updateBlock
)
And, since
fragmentContainerViews.clear()
can cause a recomposition, it’s also better to check whether
fragmentContainerViews
is empty before clear it:
Copy code
if (fragmentContainerViews.isNotEmpty()) {
  fragmentContainerViews.clear()
}
Thus, when there’s no Fragment in the inflated layout, no recomposition will be triggered.