【发布时间】:2010-04-20 14:24:51
【问题描述】:
我有一个项目即将在今年夏天进行,该项目可能会涉及大量用于显示的图像数据。我们在一个给定的应用程序会话中讨论数百个 640x480 的图像(显示时缩放到更小的分辨率),以及一次少数非常大(1280x1024 或更高)的图像。
我已经做了一些初步工作,我发现典型的 640x480ish 图像在放入 UIImageView 并显示时在内存中只是一个不到 1MB 的阴影......但是非常大的图像可能高达 5+在某些情况下是 MB。
这个项目实际上是针对 iPad 的,在我的 Instruments 测试中,iPad 的可寻址物理内存似乎上限为 80-100MB。
抛开细节不谈,我需要开始思考如何在虚拟和物理内存之间移动大量图像数据,同时保持应用程序的流动性和响应性,这将是高可见性。
我可能处于 Objective-C 中级的高端...所以我正在寻找一些关于以下方面的可靠文章和建议:
1) 以节约物理RAM的名义负责UIImage和UIImageView的管理 2)使用 CGImage 优于 UIImage 的优点,特别是对于巨大的图像,以及是否会有任何性能提升 3) 任何处理内存分页的东西,尤其是与图像有关的东西
最后我会说我上面的数字可能会减少 10% 或 15%。图片最终可能会或可能不会被捆绑到实际的应用程序本身,而不是从外部服务器加载。
【问题讨论】:
标签: iphone iphone-sdk-3.0 memory-management image-processing uiimage