我将开发网络应用程序,它应该适用于移动设备(智能手机)。在应用程序中,操作员将输入一些业务数据,操作员也将在封闭空间中键入此数据,此时网络信号不可用。
因此,需要离线模式。在这种模式下,操作员可以输入数据,这些数据将存储在浏览器端,在网络可用后,数据将被发送到服务器并保存在数据库中。
我找到了两种可能的解决方案:
因为我还没有开发智能手机的网络应用程序,而且我对它们没什么经验,所以我有一个问题:
特定智能手机(Android,Windows Mobile,Windows Phone,iPhone)上特定浏览器的JavaScript内存和HTML5 LocalStorage限制是什么?
我知道理论上HTML5 LocalStorage应该是5MB,而JavaScript内存应该依赖于设备资源,这应该至少为5MB,但它对智能手机的影响如何? F.G.我在Windows Phone 6.5上注意到jStorage页面使用 userData 表示旧版IE,并不是在此设备上保留数据(可能是在每次刷新页面后刷新,有限的资源)。
更新 在answer to the question of max size of local storage values中有一个很好的链接到测试本地存储限制的简单应用程序,并且根据我所做的测试,Opera Mobile 11上的本地存储可以在没有浏览器限制的情况下增加,用户必须简单地接受要求更多空间。限制是设备的限制。
以下是该应用的二维码:
答案 0 :(得分:6)
根据我的经验,对于上面提到的平台,您可以可靠地下注5MB。保持您的数据低于该级别,您应该非常安全。
阅读这篇文章。 http://diveintohtml5.info/storage.html它有一些很好的信息,但它并不完全准确,尤其是那些说你不能达到极限的部分。
我知道一个事实是,一旦你达到极限,手机会询问用户是否想要留出更多空间。 (排序准确,但不完全)
在Android平台上,堆内存限制设置为12MB。不确定其他平台。既然你要在某种webcontainer(Webkit或其他)中运行,我不会太担心它。容器本身非常擅长管理内存和实现文件缓存,以最大限度地减少占用空间。
我建议您保留内存优化等等。谁知道,你甚至可能都不需要它。不要过早优化。
PS:
看看Phonegap:http://phonegap.com/
答案 1 :(得分:5)
刚刚测试了您的链接:check localstorage
直到2.600.000个字符。由于UTF-8有4个字节,只需乘以4即可获得总字节数。
10400000字节= 9,918兆字节
答案 2 :(得分:0)
在使用Android 2.3.5的低端HTC Wildfire S上,您的页面停止在2,600,000。我印象非常深刻。
在Firefox 16.0.1桌面上,它停止在5,200,000,这与以下内容一致:配额定义为。