我问过关于 JavaScript memory and HTML5 LocalStorage limitations on smartphones 的问题,但是问题变得更加具体。
我需要存储更多数据以供离线使用,其中很大一部分是字典。我有一个在 JavaScript 中存储字典的想法(它只是将数组数据加载到 JS 变量中),这将被缓存以供离线使用。离线的业务数据将存储在 LocalStorage 中。此外,JS 内存将保留一些缓存以供在线使用,以防止从服务器多次加载同一实体。
所以我有一个问题,如果使用大的离线缓存(比如 4MB)并在内存中存储大量内容会影响 LocalStorage 的可用存储空间吗?假设由于大量离线缓存使用,它可能会限制为 3MB。有人有使用此类应用程序的经验并且不得不处理移动设备上特定浏览器的问题吗?
类似于我的问题的答案Application Cache Manifest + Local Storage Size Limit没有提供我需要的信息,因为据我所知,作者已经分别测试了离线缓存限制和 LocalStorage 限制。
我更担心的是JS内存申请,我怕浏览器会在没有警告的情况下关闭。在一台设备上进行测试并不意味着应用程序不会在另一台功能较弱的设备上崩溃。
所以请写,如果你已经测试了移动浏览器的限制。仅提供进一步搜索线索或描述尚未完成的测试场景的帖子也将受到赞赏。这个主题很新,所以我知道大多数研究都只是草稿。
更新 我已经更新了关于 LocalStorage 限制的引用问题,并在 Opera Mobile 11 上进行了测试,我可以在其中存储远高于 5MB 的限制。
也根据帖子Increase iPad cache over 50 MB?至少在 iPad 上可以存储 50MB 的数据,希望我能尽快在 iPhone 上进行测试。
最佳答案
在几乎所有情况下,移动设备对一个域的所有存储都有 5 兆的硬性限制。这包括所有本地/ session 存储、索引数据库、websql、应用程序缓存或其他任何内容。
在这种情况下存储数据的最佳方式是使用本地存储或 WebSQL 存储字典数据,但不是存储所有数据,而是存储 80% 的用例内容,并提供一种简单的方法来能够根据需要加载附加信息。
喂, 皮特
关于javascript - 与智能手机上的离线缓存和 JS 内存结合使用时的 HTML5 LocalStorage 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153772/