C#管理UI图形的更好方法

时间:2011-02-10 15:50:09

标签: c# graphics resources compact-framework embedded-resource

我正在为移动应用程序构建UI框架,我对管理UI图形有疑问。

现在我将所有图形存储为嵌入资源。但是项目的GUI部分分为3个不同的Project和NameSpaces,每个都包含图形作为嵌入资源。其中一个项目是基本类型,不知道其他两个项目,另外两个项目需要来自其NameSpace和Assembly以及第三个(基础)命名空间和程序集的资源

我一直在做的是当通过文件名请求资源时,我浏览三个项目的Assembly对象的GetManifestResourceNames列表中的每一个,对它们进行排序,然后搜索包含文件名的第一个字符串。我注意到每个图形需要11-14毫秒来获得这个字符串!完成所有操作后,我在资源名称查找中查看60-100毫秒

我知道必须有一种更好的方法,只使用文件名在项目和名称空间中动态查找资源。对此有任何帮助都很棒!

此外,嵌入资源不是约束。如果有一个更好的解决方案不涉及ER,那就太好了!

1 个答案:

答案 0 :(得分:1)

60-100ms可以作为一次性操作,因此您可以创建自己的缓存类,在应用程序执行期间尽早解决这个问题 - 它可以使用Dictionary对象,这样您就可以了从那时起,获得非常快的查找时间。

如果您没有预先列出该列表,则可以使用“延迟加载”缓存,即在第一次请求时查找该值,然后存储以供将来访问。

希望有所帮助。