在什么情况下应使用DataBinding.executePendingBindings,何时应避免使用?

时间:2019-03-14 14:58:17

标签: java android kotlin data-binding android-databinding

我从不同的来源了解到executePendingBindings()方法,但是无法找到确切的答案,何时应该使用以及何时应该避免使用。

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

因此,问题是:在哪种情况下应调用executePendingBindings()?哪些没有?

1 个答案:

答案 0 :(得分:0)

我很想念抱歉,这个问题。

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

我认为您应该在每次使用数据绑定时都使用executePendingBindings()

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

如果您想了解回收者视图的呈现方式,我认为this article是必读的内容。

这里还有另一本好书slow rendering