我从不同的来源了解到executePendingBindings()方法,但是无法找到确切的答案,何时应该使用以及何时应该避免使用。
我能够找到的信息如下:executePendingBindings()
立即执行未完成的绑定,而不必等到绘制下一帧。并且此方法还将执行来自UI线程的所有绑定,否则可以从非UI线程调用setVariable()
调用。如果为庞大列表中的项目触发executePendingBindings()
,则这些调用可能会影响recyclerview's
的性能。
就这样。没有确切的使用建议。
因此,问题是:在哪种情况下应调用executePendingBindings()?哪些没有?
答案 0 :(得分:0)
我很想念抱歉,这个问题。
我猜executePendingBindings()
完全按照它说的那样立即执行,而无需等待下一帧。
我认为您应该在每次使用数据绑定时都使用executePendingBindings()
。
已经说过,如果您不使用executePendingBindings()
,则视图可能不会立即更新,因为它将仅在渲染下一帧时执行绑定。您可能只在较旧或较慢的设备上运行时才注意到副作用。
如果您想了解回收者视图的呈现方式,我认为this article是必读的内容。
这里还有另一本好书slow rendering。