我在 UIWebview 上显示 html 字符串,并且 html 字符串来自服务器。
在我从服务器检索到的 html 中,有 10 张带有 src 属性的大尺寸图像。这些图像的总大小超过 4 MB。当我将此 html 字符串加载到 UIWebview 中时,应用程序有时需要 4 分钟才能加载图像,有时它会崩溃。
我想知道,是否有任何解决方案可以<img src..>
标记我可以制作缩略图的地方。
任何回应将不胜感激。
谢谢
您应该能够通过 java/html5 在服务器端找出您的客户端是什么浏览器以及它具有哪些功能。在这样做时,服务器可以确定适当的图像大小以发送给客户端。
我的公司已经成功地实现了这一点,iPhone 和 Android 客户端检索尺寸更小的图像,而不是笔记本电脑上的浏览器接收更大的图像。
祝你好运!
分配的大块内存可以在系统负载重(通过保护)时从跳板触发 sigkill 9,即使您没有重叠为任何单个应用程序运行提供的 46MB。
您将减少大负载的影响。
Nimbus 框架正在以这种方式进行图像下载和调整大小。看一看。
对于 UIWebview,我不确定你能做什么。由于您在显示 HTML 之前获得了 HTML,因此您也许可以 grep<img>
标签并创建这些缩略图,将它们存储到 iPhone,用您的缩略图的本地 URL替换src
原始标签的路径。<img>
在 UIWebView 中解压缩时,您使用的设备可能不支持 4MB 图像。
您使用的是哪种设备?
4 分钟加载 4 张图片是很长的时间。你的网络很差吗?否则,它可能是错误方法的另一个指标。
作为您,我将尝试使用本机UIImageView
来显示图像并执行某种排队下载,也许使用ASIHTTP。
因此,您可以在需要时加载和卸载图像,并将它们始终保存在内存中。
正如 Jojas 所指出的,我仍然认为答案是正确的,因为UIWevView
渲染 DOM 元素会消耗内存。