Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 与MVVMCross中其他绑定模式相比,使用一次性绑定的好处是什么


与MVVMCross中其他绑定模式相比,使用一次性绑定的好处是什么


在MVVMCross中使用一次性绑定提供了比其他绑定模式的几个好处,尤其是在特定情况下:

1。减少开销:当您仅将值从视图模型设置为视图一次时,一次性绑定是有用的,而无需不断监视更改。这减少了与维护绑定相关的开销,因为它不需要该框架从ViewModel那里收听更新。这对于一旦设置就不会更改的静态数据特别有益,例如来自语言文件的文本[1] [3]。

2。回收的视图中的性能:虽然像“ mvxrecyclerview”中的回收视图中,一次性绑定可能是有问题的,但它们对于未回收视图或数据静态并且不需要动态更新的情况是场景的理想选择。但是,在回收观点的情况下,一次性绑定可能不会像预期的那样行事,因为在屏幕上出现的视图被重复使用并反弹[7]。

3。简化的绑定基础架构:由于仅在绑定上下文变化时一次性绑定,因此它们通过消除需要监视源属性更改的需求来简化绑定基础架构。这可能会导致更清洁的代码和与连续更新有关的潜在问题[4]。

4。适用于仅阅读数据:一次性绑定非常适合显示在初始化时已知且不会改变的仅读取数据。这包括诸如显示静态信息(例如餐厅时间)的场景,其中设置了一次数据,而不需要进一步的更新[3]。

5。与静态数据的一致性:在某些数据是静态并且不经常变化的应用程序中,一次性绑定可确保正确设置此数据而无需不必要的更新。这保持了UI的一致性,而无需连续监视的开销[1] [3]。

总而言之,在处理不需要连续更新的静态数据时,MVVMCROSS中的一次性绑定是有益的,从而减少了开销和简化的绑定管理。但是,它可能不适用于动态或经常更改的数据,也不适用于回收视图的情况。

引用:
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-used-sused-in-a-project
[3] https://stackoverflow.com/questions/25460030/when-to-use-mvvmcross-data折线
[4] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/binding-mode?view=net-maui-9.0
[5] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[6] https://stackoverflow.com/questions/17156368/
[7] https://stackoverflow.com/questions/48910503/binding-mode-onetime-inetime-intime-inmetime-in-mvxrecyclerview
[8] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phote-phote-build-mvvm-mvvm-apps-with-xamarin-and-mvvmcross
[9] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle