【问题标题】:Xamarin Forms Forms Content Page and Forms Content Page XAMLXamarin 表单表单内容页面和表单内容页面 XAML
【发布时间】:2016-10-03 02:06:59
【问题描述】:

ContentPage 或 ContentPage XAML ,在开发 Xamarin Forms 应用程序时,哪个更好用于页面设计?在应用性能方面,彼此有什么优势吗?

【问题讨论】:

    标签: xamarin xamarin.ios xamarin.android xamarin.forms


    【解决方案1】:

    XAML 与代码完全基于意见。 普遍的看法似乎是 XAML 作为一种标记语言更合适,并且提供了更清晰的 UI 与应用程序逻辑的分离。 我个人永远不会想到在代码中做页面,XAML 一路走来。 支持 XAML 的另一点是,如果您使用事件或引用其他控件(让我们面对它,每个应用程序都会这样做),您甚至无法嵌套一堆初始化程序来构建结构化 UI,您必须将控件分配给命名变量能够参考它们。在 XAML 中,您可以在任何时候添加 x:Name,并且您可以从代码和 XAML 标记的其余部分中引用该控件。

    在 XAML 中唯一不能做的事情是以编程方式动态生成布局或根据一些运行时变量对其进行调整。但即使在这里,最好在 XAML 中布局模板,然后在后面的代码中您可以使用构造函数(或覆盖 onappearing,如果您希望页面在每次导航到时都更改),并从 c# 中填写动态部分代码。

    在性能方面,代码页曾经有一点优势,因为每次运行时都必须解析 XAML。但是,一段时间以来,Xamarin.Forms 已经支持提前编译 XAML 文件,这意味着它们或多或少是相同的。

    【讨论】:

    • 在使用 XAML 开发页面时,我在 android 低端设备中遇到 UI 挂起问题。但它在 iOS 和 android 高端设备上运行顺畅。
    • 在代码中重写页面时问题是否仍然存在?我几乎 100% 肯定它确实如此。唯一需要注意的是永远不要将 XAML 中的属性设置为其默认值。这比根本不设置属性成本更高。除此之外,如果您启用了 XAML 编译(google xamarin.forms xaml 编译),您应该会看到相同的性能。
    • 我在 XAML 和 C# 代码中创建了三个页面,在导航期间使用 XAML 的页面中我可以看到一些性能问题。如何启用 XAML 编译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多