JavaScript内存和智能手机上的HTML5 LocalStorage限制
我将开发可在移动设备(智能手机)上工作的Web应用程序 。 在应用程序中,操作员将输入一些业务数据,操作员也可以在封闭的空间中键入这些数据,在这些封闭的空间中网络信号不可用。
所以,需要离线模式 。 在这种模式下,操作员可以输入数据,这些数据将存储在浏览器端,在网络可用后,数据将被发送到服务器并保存在数据库中。
我找到了两种可能的解决方案:
因为我还没有开发智能手机的网络应用程序,而且我没有经验,所以我有这样的问题:
特定智能手机(Android,Windows Mobile,Windows Phone,iPhone)上特定浏览器的JavaScript内存和HTML5 LocalStorage限制是什么?
我知道理论上HTML5 LocalStorage应该是5MB,并且JavaScript内存应该取决于设备资源,这应该至少为5MB,但是对于智能手机来说如何? Fg我在Windows Phone 6.5上注意到,对于较老的IE,使用userData的jStorage页面并没有在这个设备上保存数据(也许在每次页面刷新后,在有限的资源中刷新)。
更新在对本地存储值最大值问题的回答中,有一个与测试本地存储限制的简单应用程序有很好的联系,根据我所做的测试,Opera Mobile 11可以增加本地存储,而不受浏览器限制,用户必须简单地接受更多空间的请求。 限制是否存在设备的限制。
这里是应用程序的QR码:
而应用程序本身:http://arty.name/localstorage.html
根据我的经验,您可以可靠地下注5MB以上的平台。 保持你的数据低于这个水平,你应该很安全。
阅读这篇文章。 http://diveintohtml5.info/storage.html它有一些很好的信息块,但并不全是准确的,特别是说你不能忍受这个限制的部分。
我知道一个事实,即在iPhone达到极限时,手机会询问用户是否想要更多空间。 (准确但不完全)
在Android平台上,堆内存限制设置为12MB。 不确定其他平台。 既然你要在某种webcontainer(Webkit或其他)中运行,我不会太担心它。 容器本身在管理内存和实现文件缓存方面非常优秀,可以最大限度地减少占用空间。
我建议你最后离开内存优化等。 谁知道,你可能不需要它。 不要过早优化。
PS:
看看Phonegap:http://phonegap.com/
只是测试了你的链接:check localstorage
一直到2.6万个字符。 由于UTF-8有4个字节,只需乘以4就可以得到总字节数。
10400000字节= 9,918兆字节
在我使用Android 2.3.5的HTC Wildfire S上,您的页面停在了2,600,000。 我印象深刻,它有这么高。
在Firefox 16.0.1桌面上,它的停止时间为5,200,000,与config quota的定义一致。
链接地址: http://www.djcxy.com/p/36795.html上一篇: JavaScript memory and HTML5 LocalStorage limitations on smartphones