Xamarin - xaml 中的命名空间声明会影响性能吗?
Xamarin - will namespace declaration in xaml affect performance?
有人知道 xaml 中的 namespace declaration 是否对性能有影响吗?例如,
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MyStaticDefinition">
其中 xmlns:local="clr-namespace:MyStaticDefinition"
包含我所有的静态变量定义。
据我了解,reduce resource dictionary size 会提高性能;但我在 xaml
中找不到任何关于名称空间声明的在线信息
所以...也是:
- 在页面中声明多个命名空间会影响页面加载时间吗?
- 程序集的大小影响页面加载时间?我的
MyStaticDefinition
class 中的示例,有 1 个静态变量与 100 个静态变量
我一直在研究 Xamarin.Forms 中的 XAML 解析器代码,我会说在 [=23= 中指定大量 XML 命名空间对性能的影响] 文件可以忽略不计。
当然,命名空间被加载到类似这样的结构中:IList<KeyValuePair<XmlName, INode>>
。这当然会随着您拥有的命名空间数量的增加而增长,之后从该列表中获取特定的命名空间也需要一些时间。
解析时间也会随着您添加的每个命名空间而增加。另外,是的,XAML 文件越大,反序列化和解析它所需的时间就越长。
但是,拥有 2 个或 15 个 XML 命名空间不会有太大区别,因为这只是加载此信息所需的一次传递。
您可以 inspect the code in XamlParser 自己尝试评估性能命中率。
有人知道 xaml 中的 namespace declaration 是否对性能有影响吗?例如,
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MyStaticDefinition">
其中 xmlns:local="clr-namespace:MyStaticDefinition"
包含我所有的静态变量定义。
据我了解,reduce resource dictionary size 会提高性能;但我在 xaml
中找不到任何关于名称空间声明的在线信息所以...也是:
- 在页面中声明多个命名空间会影响页面加载时间吗?
- 程序集的大小影响页面加载时间?我的
MyStaticDefinition
class 中的示例,有 1 个静态变量与 100 个静态变量
我一直在研究 Xamarin.Forms 中的 XAML 解析器代码,我会说在 [=23= 中指定大量 XML 命名空间对性能的影响] 文件可以忽略不计。
当然,命名空间被加载到类似这样的结构中:IList<KeyValuePair<XmlName, INode>>
。这当然会随着您拥有的命名空间数量的增加而增长,之后从该列表中获取特定的命名空间也需要一些时间。
解析时间也会随着您添加的每个命名空间而增加。另外,是的,XAML 文件越大,反序列化和解析它所需的时间就越长。
但是,拥有 2 个或 15 个 XML 命名空间不会有太大区别,因为这只是加载此信息所需的一次传递。
您可以 inspect the code in XamlParser 自己尝试评估性能命中率。