PhoneGap 的 LocalStorage 限制
Posted
技术标签:
【中文标题】PhoneGap 的 LocalStorage 限制【英文标题】:LocalStorage limit on PhoneGap 【发布时间】:2012-01-16 16:34:03 【问题描述】:浏览器(包括 iPhone 的 Safari)上的 localStorage 通常有 5MB 的限制。
由于PhoneGap拥有更高的安全权限,包括访问设备上的其他存储机制,理论上应该可以消除5MB的限制。
例如,它应该能够通过将数据存储在文件等中来绕过通常的限制,同时保持 API 与 localStorage javascript 对象兼容。
完成了吗?还是 PhoneGap 限制在相同的 5MB 以内?
【问题讨论】:
【参考方案1】:PhoneGap 有File API,它不应该受到浏览器本地存储限制的影响,但不知道是否存在任何抽象使其充当 html5 本地存储“后端”。
【讨论】:
【参考方案2】:PhoneGap 不会做任何不寻常的事情来扩展默认限制。在 android 上,我在 localStorage 中获得了 250 万个字符(JavaScript 中的字符串是 UTF-16)。
您可以在此处找到大多数浏览器的默认限制:http://dev-test.nemikor.com/web-storage/support-test/
这有助于理解限制,我使用代码创建了一个简化的测试 PhoneGap 应用程序。
【讨论】:
根据您的 Android 版本,在某些旧版本上您将拥有 2.5MB、5MB 或无限空间。【参考方案3】:如果你想存储大量数据,你不应该在 localStorage 中这样做,有数据库和文件可以满足这种需求。 localStorage 是一个键值对数据存储,它的使用是有限的,它不应该被“破解”来满足所有需求。
【讨论】:
【参考方案4】:Localstorage 是浏览器提供的东西。
Localstorage 不是在设备(手机或桌面)上可用的东西,它是由浏览器利用的。
由于它是浏览器无法提供的,我们可以使用 Phonegap 更改/增加它,因为您的 Phonegap 应用程序在浏览器中运行。
如果您想要更多存储空间,可以使用 Phonegap 可以访问的技术,例如文件存储或 SQLLite。
【讨论】:
以上是关于PhoneGap 的 LocalStorage 限制的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap iOS 5.1 和 localStorage
Phonegap LocalStorage - 是不是需要文件系统权限
在Phonegap / iOS中按下主页按钮时访问localStorage
WebView 应用程序(PhoneGap Build),重启后不保存 localStorage
使用对象和 localStorage 在 Phonegap 页面周围传递数据
PhoneGap/Cordova 将 GeoLocation 从 localStorage vars 推送到 MySQL