我的问题是,我的应用程序在运行时从外部源(从Picasa Web相册,使用Google Data API)下载其PNG。不幸的是,这些图片的性能非常差。当我在图像顶部进行自定义渲染时,它似乎比其内部存储的对应物慢100倍。我强烈怀疑这是因为下载的图像没有被优化。
有人知道如何在iPhone上在运行时优化外部下载的PNG吗?我希望有一个可以做到这一点的类。我甚至考虑将pngcrush的源代码添加到我的应用程序中,这似乎是极端的。我自己找不到一个合适的答案。我将非常感谢任何帮助。
谢谢!
更新: 有些人认为可能是文件大小的问题,但事实并非如此。在我的测试中,我添加了一个切换按钮,可以在嵌入版本和下载版本之间切换完全相同的PNG。唯一的区别是,嵌入式版本在编译期间通过“pngcrush”进行了优化。这会进行一些字节交换(从RGBA到BRGA)和alpha预乘。(http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html)
此外,我所指的性能不是下载,而是渲染。我在图像上叠加自定义绘画(覆盖UIView的drawRect方法),当背景是下载版本时,它非常卡顿,而当背景是嵌入式(因此经过优化)版本时,它非常流畅。再次强调,它是完全相同的文件。唯一的区别是优化,我希望可以在设备上,在下载后运行时对图像进行优化。
再次感谢大家的帮助!