我想知道当应用程序启动后,存储在Style文件中的Generic.xaml文件何时被加载,并且在完成之后,这种情况发生的频率有多大。我的意思是,当Control的一个新对象被实例化时,它们是只加载一次还是每次都加载?此外,Style-Resource真正被从资源文件中读取多久一次?
发布于 2013-09-22 13:33:22
I.,我的意思是,当控件的一个新对象被实例化时,它们是只加载一次还是每次加载一次?
Style's,ResourceDictionary只加载一次,在程序开始时。来自链接的报价
项目下“主题”目录下的每个资源字典都将被“编译”(此编译过程由msbuild和自定义构建任务完成)转换为BAML表示,这些BAML文件将被视为最终编译程序集的资源文件。 主题程序集的另一个优点是您可以使用主题程序集来定义资源专用或共享资源程序集,因为主题程序集中的资源字典将只加载一次,这将比ResourceDictionary.MergedDictonaries机制提供更多的好处。
此外,II.的样式-资源真正从资源文件中读出的频率是多少?
每个Style、ResourceDictionary都被编译成BAML代码,这些资源是程序集的一部分。所有程序集一次由JIT编译器加载到内存中(开始时),并在内存中应用进一步的工作。我的意思是,我并不认为应用程序每次读取样式时,根据JIT编译器的逻辑,所有东西都以元数据的形式存储在内存中,随后的处理必须在内存中进行。
关于JIT编译器的工作和工作.NET,您可以读到一个非常棒的书 of Jeffrey Richter。
https://stackoverflow.com/questions/18944109
复制相似问题