【发布时间】:2012-05-21 21:19:28
【问题描述】:
有谁知道为什么将大量外部 JPG/PNG 图像加载到 HTML5 Image() 对象中会影响 Javascript 性能,总共大约 200Mb-250Mb。性能似乎也受到缓存的影响。 IE。如果先前浏览的缓存已满(-ish),则当前站点的性能会大大降低。
有2个说我可以粗略地解决它。
- 手动清除缓存。
- 最小化浏览器,等待大约 20 秒,然后重新打开浏览器,之后 iOS/浏览器已回收内存并正常运行 JS。
我原以为 iOS 会回收运行当前任务所需的内存,但似乎并非如此。另一种解决方法是将 200Mb 的“缓存清除”图像加载到 Image() 对象中,然后通过设置 src = "" 将其删除。这似乎确实有帮助,但它不是一个优雅的解决方案......
请帮忙?
【问题讨论】:
-
完全是猜测,但可能是因为你刚刚占用了 iPad 的一半物理内存。这是一个非常受限制的设备,无论如何,沉重的页面都会磨损。 IMO 嵌入式系统技巧虽然可能不雅,但却是唯一真正的解决方案。
-
你不能减少图片的大小或数量吗?
-
@Mikey:是的,我可以减少图像数量,但我仍然会遇到问题,因为分配给以前站点的缓存会翻转并影响我的站点/代码。问题是,它是一个非常依赖 gfx 的网站,目前只能进行优化。
-
我希望这是个玩笑...单页上有 200MB 的图像?真的吗?
-
Image() 对象是否存储在未压缩的位图中或其他内容中?
标签: javascript ios performance html caching