首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >智能手机上的JavaScript内存和HTML5 LocalStorage限制

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

Stack Overflow用户
提问于 2011-09-01 15:43:35
回答 3查看 22K关注 0票数 19

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

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

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

  1. 将这些值存储在JavaScript内存中。将无法在浏览器崩溃或页面重新加载后存活。
  2. 将这些值存储在HTML5 LocalStorage中。需要具有HTML5支持的浏览器,并保证此存储将是永久性的(关闭浏览器应用后不会刷新)。

因为我还没有为智能手机开发web应用程序,而且我几乎没有使用它们的经验,所以我有一个问题:

对于特定智能手机(安卓、Windows Mobile、Windows Phone、iPhone)上的特定浏览器,JavaScript内存和HTML5 LocalStorage的限制是什么?

我知道理论上HTML5 LocalStorage应该是5MB,JavaScript内存应该取决于设备资源,这应该至少是5MB,但它对智能手机是怎样的呢?F.g.我注意到,在Windows phone6.5上,使用旧版IE的userDatajStorage页面不能持久保存此设备上的数据(可能在资源有限的情况下,每次刷新页面后都会刷新)。

更新answer to the question of max size of local storage values中有很好的链接到测试本地存储限制的简单应用程序,根据我所做的测试,在Opera Mobile11上可以在没有浏览器限制的情况下增加本地存储,用户必须简单地接受更多空间的请求。这些限制就是设备的限制。

这是应用程序的二维码:

应用程序本身:http://arty.name/localstorage.html

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-06 00:06:37

根据我的经验,你可以在你上面提到的平台上可靠地打赌5MB以上。将你的数据保持在该级别以下,你应该是非常安全的。

请阅读这篇文章。http://diveintohtml5.info/storage.html它有一些很好的信息,但它并不都是准确的,特别是说你不能达到限制的那部分。

我知道一个事实,在iPhone上,一旦你达到了限制,手机就会询问用户是否想要留出更多空间。(有点准确,但不是完全准确)

在Android平台上,堆内存限制设置为12MB。不确定其他平台。由于您将在某种are容器(Webkit或其他)中运行,因此我不会太担心它。容器本身在管理内存和实现文件缓存以最小化其占用空间方面做得非常好。

我建议你把内存优化之类的事情放在最后。谁知道呢,你可能根本不需要它。不要过早地进行优化。

PS:

看看Phonegap:http://phonegap.com/

票数 6
EN

Stack Overflow用户

发布于 2012-01-26 06:06:26

刚刚测试了你的链接:check localstorage

  • Chrome 16.0.912
  • iPad2 IOS 5.0.1
  • iPhone 3GS

一直到2.600.000个字符。由于UTF-8有4个字节,所以只需将其乘以4即可得到总字节数。

10400000字节= 9,918 MegaBytes

票数 5
EN

Stack Overflow用户

发布于 2012-10-18 22:37:51

在我使用Android2.3.5的低级HTC Wildfire S上,你的页面停在2600,000。我很惊讶它居然会这么高。

在Firefox 16.0.1桌面上,它停止在5,200,000,这与what about:config quota定义在一致。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7267354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档