【问题标题】:Xamarin rendering speedXamarin 渲染速度
【发布时间】:2019-11-20 10:39:32
【问题描述】:

我是 Xamarin 的新手,但对 WPF 和 MVVM 有一些经验。

在构建 Xamarin 项目时,我创建视图并将我的 ViewModels(从 INotifyPropertyChanged 继承)绑定到视图。

但我注意到我在网上看到的几个(比我希望的)示例在后面的代码中创建并附加了视图元素(ListView 等)。

我的问题是。从后面的代码构建视图会加速渲染?有人研究过从一种方法到另一种方法的速度吗?

【问题讨论】:

  • XAML 与代码隐藏的性能不应该有差异。这主要是一个偏好问题。
  • 对你有帮助吗?

标签: xamarin.forms


【解决方案1】:

我认为这是一个宗教问题。有些人喜欢这个,有些人喜欢那个。

XAML 在 Xamarin.Forms 程序中从不需要,但它通常比等效代码更简洁、视觉上更连贯,并且可能具有工具性。 XAML 非常适合与流行的 MVVM(模型-视图-视图模型)应用程序架构一起使用:XAML 定义了通过基于 XAML 的数据绑定链接到 ViewModel 代码的视图。

XAML 与等效代码相比有几个优点:

  • XAML 通常比等效代码更简洁易读。
  • XML 中固有的父子层次结构允许 XAML 模仿 更高的视觉清晰度用户界面的父子层次结构 对象。
  • XAML 可以很容易地由程序员手写,但也适合自己 可通过可视化设计工具生成。

也有缺点,主要与标记语言固有的限制有关:

  • XAML 不能包含代码。所有事件处理程序必须定义在一个 代码文件。
  • XAML 不能包含用于重复处理的循环。 (然而, 几个 Xamarin.Forms 可视对象(最值得注意的是 ListView)可以 根据其 ItemsSource 中的对象生成多个子项 收藏。)
  • XAML 不能包含条件处理(但是,数据绑定 可以引用一个基于代码的绑定转换器,该转换器有效地允许 一些条件处理。)
  • XAML 通常无法实例化未定义 无参数构造函数。 (但是,有时有一种方法 围绕这个限制。)
  • XAML 通常不能调用方法。 (同样,这个限制可以 有时会被克服。)

现在可以选择使用XAML compiler (XAMLC) 将 XAML 直接编译成中间语言 (IL)。

XAML 编译提供了许多好处:

  • 它执行 XAML 的编译时检查,通知用户任何 错误。
  • 它消除了 XAML 元素的一些加载和实例化时间。
  • 它有助于减少最终程序集的文件大小,不再需要 包括 .xaml 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2011-10-04
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多