Android 上带有 Phonegap 的缓存清单的大小限制

Posted

技术标签:

【中文标题】Android 上带有 Phonegap 的缓存清单的大小限制【英文标题】:Size limit for Cache Manifest with Phonegap on Android 【发布时间】:2013-08-08 15:17:51 【问题描述】:

我目前正在开发一个单页网络应用程序。 我将使用 PhoneGap 将其发布到 AppStore 和 Play Store。 为了离线运行我的应用程序,我使用 html5 Cache Manifest :它的最终大小约为 10MB。

当我在谷歌浏览器上测试我的应用程序时,一切正常加载。 :) 之后,我使用 PhoneGap 创建了一个 APK 来测试我的 Nexus 4 上的应用程序。 不幸的是,我意识到缓存大小限制为 5MB。 我将缓存的重量减少到 5MB,缓存加载正确! :)

我更新了缓存,我运行了应用程序,但我收到了一个错误... 经过一些测试,如果缓存大小小于 2.5MB,则加载和更新缓存可以正常工作。

我想知道是否可以使用 PhoneGap 增加缓存清单的大小限制?

提前致谢,

马修

【问题讨论】:

【参考方案1】:

这是可能的。您必须使用以下几行扩展您的 app.java

//version 7+
//method available since API level 7 
if(android.os.Build.VERSION.SDK_INT >= 7) 
    //set custom cache size (20 MB), as the default seems to be to small (5 MB)
    //this is deprecated from SDK 18 but seems still to be needed
    super.appView.getSettings().setAppCacheMaxSize(1024*1024*20);

我们遇到了一些关于 SQL 事务更新的错误 10,此补丁通过将限制设置为 20 MB 来修复它。

【讨论】:

如果某些 Cordova 插件已经包含此功能,您有什么想法吗?限制缓存大小对于避免耗尽所有内部内存至关重要。

以上是关于Android 上带有 Phonegap 的缓存清单的大小限制的主要内容,如果未能解决你的问题,请参考以下文章

带有 iOS 和 Android 的 Phonegap 地图

带有地理位置的Phonegap android谷歌地图不起作用

预取和缓存动态创建的 jquery Mobile+PhoneGap 页面

是否可以分析 Android 或 iOS 上的 PhoneGap 应用缓存?

带有 Phonegap 的 Android 应用程序在横向旋转时崩溃

Android unsafe:tel: 带有 phonegap 应用程序