确定能够在iPhone-pad上加载的最大总图像大小

时间:2010-06-21 12:16:32

标签: iphone image ipad

现在我在应用程序启动时加载了大量图像。 有没有一种简单的方法来确定能够在任何给定设备上加载的图像的最大总大小?

1 个答案:

答案 0 :(得分:1)

我假设你的意思是“单个图像的最大尺寸”。

来自UIView class reference

  

注意:在iPhone OS 3.0之前,UIView实例的最大高度和宽度可能为1024 x 1024.在iPhone OS 3.0及更高版本中,视图不再受限于此最大大小,而是仍受限于他们消耗的内存量。因此,保持视图尺寸尽可能小是符合您的最佳利益的。无论运行哪个版本的iPhone OS,如果需要创建大小超过1024 x 1024的视图,都应考虑使用CATiledLayer对象。

在我的测试中,它似乎是图形硬件的限制:iPhone 3G的纹理大小限制在2044×2044左右;大概是原来的iPhone和iPod都差不多了。这仅适用于绘制到屏幕的图像 - 您可以使用CGBitmapContextCreate()/ UIGraphicsBeginImageContext()并向其渲染较大的图像,然后将缩小的图像渲染到屏幕上。

一般来说,将巨大的图像渲染到屏幕上是很愚蠢的。每次显示刷新时都会重新绘制(松散),这意味着你最终会有可怕的滚动性能。