我问过关于JavaScript memory and HTML5 LocalStorage limitations on smartphones的问题,但是问题变得更加具体了。
我需要存储更多的数据供脱机使用,其中很大一部分是字典。我有一个想法,将字典存储在JavaScript中(它只是将数组数据加载到JS变量中),而JS变量将被缓存以供脱机使用。脱机的业务数据将存储在LocalStorage中。此外,JS内存将保存一些缓存供在线使用,以防止从服务器加载同一实体超过一次。
因此,我有疑问,使用大的离线缓存(例如4MB)并大量存储在内存中是否会影响LocalStorage可用的存储?比方说,由于大量脱机缓存的使用,它可以限制为3MB。是否有人有这类应用程序的经验,并且必须处理移动设备上特定浏览器的问题?
对于类似于我的问题,Application Cache Manifest + Local Storage Size Limit没有提供我所需要的信息,因为正如我所理解的那样,作者分别测试了离线缓存限制和LocalStorage限制。
更让我担心的是JS内存应用程序,我担心浏览器可能会在没有警告的情况下关闭。在一个设备上进行测试并不意味着应用程序不会在另一个设备上崩溃,而不是完全崩溃。
因此,如果您已经测试过移动浏览器的限制,请编写。张贴,只提供线索,以进一步搜索或描述测试场景,但尚未完成的努力,也将受到赞赏。这个话题很新,所以我知道大多数的研究都是草稿。
更新我已经更新了我所提到的关于LocalStorage限制的问题,在Opera 11上进行了测试,在这个测试中,我能够存储超过5MB的限制。
另外,根据post Increase iPad cache over 50 MB?至少在iPad上可以存储50 do的数据,希望我能尽快在iPhone上进行测试。
发布于 2011-12-01 20:52:21
在做了一些实验之后,我发现Opera并没有限制资源。它要求增加LocalStorage限制,此限制不受应用程序缓存中存储文件的影响。
火狐有可配置的LocalStorage限制,因此理论上可以在那里存储大量数据,同时也不受应用程序缓存的影响。然而,Mobile作为它的桌面兄弟编写得非常糟糕,它管理资源的效率太低,以至于当存储集中使用时,它就会被Android杀死。所以我会劝阻人们使用Firefox,至少在Android设备上是这样。
另一方面,Android浏览器似乎有2,5MB的限制,这不受应用程序缓存的影响,但是,根据至少有5MB的悬念,它应该更低。然而,这个浏览器也不能提供准确的GPS定位(也就是AFAIK,功能不是bug -安全的原因),所以对我来说,这个浏览器是没有选择的支持。
发布于 2011-11-16 16:48:44
几乎在所有情况下,移动设备对域的所有存储都有一个严格的5 5meg限制。这包括所有本地/会话存储、索引数据库、websql、应用程序缓存或其他任何内容。
在这种情况下,存储数据的最佳方法是对字典数据使用本地存储或WebSQL,但不必存储所有数据,而是存储80%的用例内容,并提供一种简单的方法,以便在必要时加载附加信息。
HTH,PEte
https://stackoverflow.com/questions/8153772
复制相似问题