首页 > 解决方案 > 在哪些情况下应该使用 DataBinding.executePendingBindings,什么时候应该避免?

问题描述

我从不同来源阅读了有关executePendingBindings()方法的信息,但无法找到确切的答案,什么时候应该使用它,什么时候应该避免。

我能够找到的信息类似于以下内容:executePendingBindings()立即执行未完成的绑定,而不是等到下一帧被绘制。并且此方法将从 UI 线程执行所有绑定,否则setVariable()可以从非 UI 线程调用调用。如果触发executePendingBindings()大量列表中的项目,则这些调用可能会影响recyclerview's性能。就这样。没有关于它的使用的确切建议。

那么问题来了:在什么情况下应该调用 executePendingBindings()?哪个没有?

标签: javaandroidkotlindata-bindingandroid-databinding

解决方案


抱歉,我错过了最初理解这个问题。

我猜executePendingBindings()它完全按照它所说的那样立即执行,而无需等待下一帧。

我认为您应该瞄准executePendingBindings()每次使用数据绑定时使用。

话虽如此,如果您不使用executePendingBindings()您的视图可能不会立即更新,因为它只会在下一帧渲染时执行绑定。在较旧或较慢的设备上运行时,您可能只会注意到副作用。

如果你想了解回收站视图是如何呈现的,我认为这篇文章是必读的。

另一个很好的阅读这里慢渲染


推荐阅读