1

我在我们正在开发的 Objective-C 应用程序中使用 UIWebViews 时遇到问题。它会使任何 Retina iPad 崩溃。iPad 1 和 2 都表现良好。

Web 视图是从本地 HTML/CSS/JS 加载的,并且是包含定价信息的动态内容,因此需要本质上是预先下载到设备的网站的镜像。

该页面包含大量图像,因此我认为这与内存有关。我尝试减少页面上的有效负载以阻止崩溃。显然,Apple 愚蠢地选择将分辨率提高四倍而仅将内存翻倍是它在非视网膜设备上正常工作的根本原因,但我如何管理页面内的内存以防止 iOS 破坏整个应用程序?

无论文件格式如何,iOS 是否会自动将图像存储为 2048x1536x32bpp 作为位图(理论上每个图像 12MB?)?我尝试转换为 JPG / PNG,但对崩溃没有影响。只有减少页面上显示的图像量才能阻止崩溃。这是我第一次涉足 iOS 开发,所以请温柔一点!

4

1 回答 1

0

iOS 不会改变页面加载的原始图片的分辨率,但是它当然会将它们从 .png/.jpg 反序列化为内存中的位图进行显示,所以你应该从尝试降低分辨率开始页面加载的 .png/.jpg 图像。

于 2013-05-09T22:23:31.433 回答