将PNG添加到XCode iPhone项目时,编译器会使用pngcrush对其进行优化.一旦在设备上,图像的渲染性能非常快.
我的问题是我的应用程序在运行时从外部源下载PNG(使用Google Data API从Picasa网络相册中下载).不幸的是,这些图像的表现非常糟糕.当我在图像上进行自定义渲染时,它似乎比内部存储的对应物慢100倍.我强烈怀疑这是因为下载的图像尚未优化.
有谁知道如何在iPhone上运行时优化外部下载的PNG?我希望有一个班级能做到这一点.我甚至考虑将pngcrush的源代码添加到我的应用程序中,这似乎很激烈.我自己一直无法找到合适的答案.我会非常感谢任何帮助.
谢谢!
更新:有些人建议可能是由于文件的大小,但事实并非如此.在我的测试中,我添加了一个切换按钮,在使用嵌入版本和完全相同的PNG的下载版本之间切换.唯一的区别是嵌入的一个在编译期间由'pngcrush'优化.这会进行一些字节交换(从RGBA到BRGA)和alpha的预乘.(http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html)
另外,我所指的性能不是下载,而是渲染.我在图像顶部叠加自定义绘画(覆盖UIView的drawRect方法),当背景是下载版本时它非常不连贯,当它是嵌入(因此优化)版本时非常平滑.同样,它是完全相同的文件.唯一的区别是优化,我希望我可以在运行时,在设备上,在下载之后对图像执行.
再次感谢大家的帮助!
有没有办法使用Objective-C获得iPhone的载体和/或当前的信号强度?我知道如何确定数据连接是否存在,以及该连接是否是wi-fi与蜂窝连接.我也知道您可以通过转到手机应用程序手动将iPhone置于"现场测试"模式,并拨打#3001*12345*#并点击发送.