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