2010-09-15 52 views
0

我有一个用于PND运行Windows CE(5.0和6.0)的前端程序它使用大量图像(当前为png格式)作为按钮或用于装饰目的。这些图像通过new Bitmap(path);如何更有效地加载和管理图像?

从SD卡加载我目前使用v3.5的框架。

加载后,OS +我的应用程序已经消耗了75至80%的设备内存。

很好的方法来优化所有文件?

回答

4

我脑海中想要优化这些图片的唯一方法是将它们调整为实际需要的大小(如大多数图标将以16x16大小使用),并且如果您还将图片存储为位图,则不会显示您的卡片您还可以将使用过的调色板设置为与给定图片的确切需要相匹配的尺寸(例如,16x16的图片具有256个像素,因此您需要256色的最大调色板,但也可能是自定义的16色调色板是足够的,原因在您的图片只有16种不同的颜色)。

作为第二种方法,你也可以检查你是否可能有多次加载相同的图片。在这种情况下,您应该只加载一次并多次使用它。

最后一个,我想到的是属于背景图片。如果你有一个坚实的背景,你不需要一个完整的大小的图像。只需要一个1x1位图并将其拉伸至所需的大小。渐变背景的计数相同,但在这种情况下,您将有一个1x2位图将被拉伸。最后但并非最不重要的,如果你有一个规则的模式,只需要从它的最小的独特的砖,并使用一些瓷砖机制。

0

如果您创建操作系统,是否有可能将图像存储为操作系统的一部分?

如果它是可能的,而图像加载完全到RAM,你只能在需要显示的基础和卸载它们不需要的时候加载图像。由于访问RAM比访问SD卡的速度快,这也会消除一些加载时间。

与同一概念的另一种伎俩是将所有影像复制到RAM基于FS并加载它们只在需要的基础 - 的一面是,这需要在每次重新启动之后进行。