JavaScript内存和智能手机上的HTML5 LocalStorage限制

我将开发可在移动设备(智能手机)上工作的Web应用程序 。 在应用程序中,操作员将输入一些业务数据,操作员也可以在封闭的空间中键入这些数据,在这些封闭的空间中网络信号不可用。

所以,需要离线模式 。 在这种模式下,操作员可以输入数据,这些数据将存储在浏览器端,在网络可用后,数据将被发送到服务器并保存在数据库中。

我找到了两种可能的解决方案:

  • 将值存储在JavaScript内存中。 无法在浏览器崩溃或页面重新加载时幸存
  • 将值存储在HTML5 LocalStorage中 。 需要支持HTML5的浏览器,并保证这个存储将持久(关闭浏览器应用程序后不刷新)。
  • 因为我还没有开发智能手机的网络应用程序,而且我没有经验,所以我有这样的问题:

    特定智能手机(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

  • Chrome 16.0.912
  • iPad2 IOS 5.0.1
  • iPhone 3GS
  • 一直到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

    下一篇: What is the max size of localStorage values?