【问题标题】:Max size of WebSQL/SQLite database inside UIWebView (phonegap)UIWebView 中 WebSQL/SQLite 数据库的最大大小(phonegap)
【发布时间】:2012-02-02 19:35:43
【问题描述】:

以前好像有人问过,但我没有找到满意的答案。
在创建 IOS 电话间隙应用程序时,IPAD 上的任何 html5 应用程序在编译为本机应用程序时是否会限制数据库的大小?我知道 Web 应用程序的本机存储通常有 5MB 的限制。本机 Web 视图应用程序是否也存在此限制?

【问题讨论】:

    标签: ios database cordova webkit


    【解决方案1】:

    是的,WebKit DB 也限制为 5 个月。

    您可以使用此解决方案欺骗系统:https://issues.apache.org/jira/browse/CB-330?focusedCommentId=13237796&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13237796

    或者您可以使用带有 phonegap 插件的原生 SQLite DB(与 WebSQL 相同)。该插件将数据库保存在 Document 文件夹中(或者您可以指定另一个文件夹),并且没有大小限制,数据由 iCloud 保存。 (但请注意,Apple 并不喜欢浪费 iCloud 存储空间的应用程序)

    这里是 Native SQLite phonegap 插件:https://github.com/davibe/Phonegap-SQLitePlugin 关于这个插件,WebSQL API 有一些区别,这里是一个适配器:https://gist.github.com/2009518

    如果数据很重要,您应该将其保存到服务器。我写了一个小库来将 SQlite DB 同步到服务器:https://github.com/orbitaloop/WebSqlSync

    【讨论】:

    • 请注意 Webkit 数据删除问题已解决:在 iOS 6 及更高版本中,来自 UIWebView 对象的 Web 数据(SQL Web Storage 和 LocalStorage)可以存储在将要备份的目录中。要启用备份此数据,请在应用程序的用户默认设置中将 WebKitStoreWebDataForBackup 键设置为 YES。仅当您的应用程序依赖于无法重新加载的 Web 内容数据时,才应执行此操作。如果您的 UIWebView 对象打开指向任意 Web 内容的链接,则该键应设置为 NO。切换此键的值不会保留现有的 Web 视图数据。
    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    相关资源
    最近更新 更多