我有一个运行Windows CE ( 5.0和6.0)的PND的前端程序,它使用大量的图像(目前是png格式)作为按钮或装饰目的。图像通过new Bitmap(path);从SD卡加载
我目前使用的是该框架的3.5版。
在加载时,OS +我的应用程序消耗了75%到80%的设备内存。
有哪些好方法可以优化所有这些文件?
发布于 2010-09-15 18:32:00
在我看来,优化这些图片的唯一方法是将它们调整到所需的实际大小(就像大多数图标将在16x16大小中使用),如果您还将其存储为位图,则您也可以将所使用的调色板设置为与给定图片的需要完全匹配的大小(例如,16x16的图片有256像素)。因此,您需要最多256种颜色的调色板,但也许自定义的16色调色板就足够了,因为您的图片中只有16种不同的颜色。)
作为第二种方法,您还可以检查是否多次加载相同的图片。在这种情况下,您应该只加载一次并多次使用它。
最后一张,出现在我脑海中的是背景图片。如果你有一个坚实的背景,你不需要一个完整大小的图像。只需取一张1x1的位图并将其拉伸到所需大小即可。对于渐变背景也是如此,但在这种情况下,你有一个1x2的位图,它将被拉伸。最后但同样重要的是,如果你有一个规则的模式,只需从其中取出最小的唯一的砖块,并使用一些瓦片机制。
发布于 2010-09-15 19:17:59
如果创建操作系统,是否可以将映像存储为操作系统的一部分?
如果可能,并且图像已完全加载到RAM中,您可以仅在需要显示时加载图像,并在不需要时卸载它们。这也将消除一些加载时间,因为访问RAM比访问SD卡更快。
使用相同概念的另一个技巧是将所有映像复制到基于RAM的文件系统中,并仅在需要的基础上加载它们-缺点是每次重新启动后都需要执行此操作。
https://stackoverflow.com/questions/3716278
复制相似问题