Html 是否需要应用缓存图像?

Html 是否需要应用缓存图像?,html,Html,我在使用HTML5的appcache功能时遇到的最大问题是,包含太多文件会导致缓存加载和更新非常缓慢。图像是最大的罪魁祸首,因为它们太大,无法连接到单个文件中,而在移动设备上下载/缓存许多文件是一个特别的问题。此外,在iOS设备上,拉取appcache的资源似乎存在问题,即使是一个普通的Web应用程序,这个过程也需要几分钟。因此,将appcache中的文件数量减少到一个精简的JavaScript&CSS文件,可以使过程更加快速 我最后做的是完全从缓存清单中删除图像,并让它们存储在传统的浏览器缓存

我在使用HTML5的appcache功能时遇到的最大问题是,包含太多文件会导致缓存加载和更新非常缓慢。图像是最大的罪魁祸首,因为它们太大,无法连接到单个文件中,而在移动设备上下载/缓存许多文件是一个特别的问题。此外,在iOS设备上,拉取appcache的资源似乎存在问题,即使是一个普通的Web应用程序,这个过程也需要几分钟。因此,将appcache中的文件数量减少到一个精简的JavaScript&CSS文件,可以使过程更加快速


我最后做的是完全从缓存清单中删除图像,并让它们存储在传统的浏览器缓存中。我已经在各种设备、浏览器等上进行了测试,并且能够在离线时启动我的webapp,所有图像都可以正常加载。如果图像是相当静态的,那么仅仅依靠传统的缓存有什么问题吗?

应该使用appcache的唯一原因是用于持久的脱机内容

我可能会在浏览器中缓存一段时间,但这并不保证它会保持缓存状态。当缓存内存不足时,操作系统可能会决定清除缓存

简言之,不要依赖浏览器缓存使文件永远脱机可用。这就是appcache的用武之地


在旁注上;如果图像相对较小,可能需要创建一个精灵表。

浏览器清除缓存的好处很好,但我不确定清除缓存的规则是什么。我从来没有听说过浏览器会因为内存限制而自动清除缓存,因为缓存是从硬盘中取出的。虽然很明显,用户可能会清除他们的缓存…我认为缓存是根据缓存控制和过期标题清除的,或者如果用户手动清除他们的缓存。我完全同意传统的web缓存不如appcache可靠。我使用appcache为短期网络中断(地铁、地下酒吧、暴风雨天气)保存Web应用程序。我喜欢spritesheet的想法。缓存清除的规则因设备而异。很有可能,像智能手机这样的移动设备会允许其缓存具有一定的大小,并在缓存已满时从缓存中弹出元素。缓存控制和Expires头是W3C制定的准则,任何人都可以实现这些准则,但不要期望每个人都严格遵守这些规则。例外情况很可能总是会发生。是的,用户也可以手动清除缓存。但他们也可以手动清除appcache。我希望这能帮助你回答你的问题。