在iPhone上加载大图像的最快方法是什么?

Cod*_*kes 4 memory iphone performance uiimage

我应该使用UIImage还是CGImage?Png还是Jpg?我已经阅读了文档并尝试了不同的东西,但没有注意到显着的改进.加载图像可能需要1秒钟,这似乎很慢

ken*_*ytm 5

UIImage只是一个ObjC包装器CGImage,所以它们是相同的.

从SDK doc:

您应该避免创建大小超过1024 x 1024的UIImage对象.除了这样的图像会占用大量内存之外,在OpenGL ES中将图像用作纹理或将图像绘制到视图或图层时,可能会遇到问题.如果您正在执行基于代码的操作,则此大小限制不适用,例如通过将大小超过1024 x 1024像素的图像绘制到位图支持的图形上下文来调整大小.实际上,您可能需要以这种方式调整图像大小(或将其分成几个较小的图像),以便将其绘制到您的一个视图中.

如果您有一个巨大的图像,您可以尝试使用a UIWebView来减少内存消耗.


加载图像的时间有两部分:解压缩图像的时间(与选择JPG或PNG相关)和渲染图像的时间.

对于解压缩,我建议您描述简单的语句

[UIImage imageWithContentsOfFile:@"/path/to/your/image.jpg"];
Run Code Online (Sandbox Code Playgroud)