繁体   English   中英

带有缓存清单的PhoneGap android应用中的错误消息“声明在10中止”

[英]Error message “statement aborts at 10” in PhoneGap android App with cache manifest

我正在使用PhoneGap开发一个Android应用程序。 该应用程序从互联网上的后端接收前端数据,并使用缓存清单使其成为脱机应用程序。 现在可以正常运行半年了,但是现在,如果该应用正在尝试更新,它将下载所有内容,但是最后我得到了错误

03-24 19:42:41.304: E/SQLiteLog(2951): (13) statement aborts at 10: [INSERT INTO CacheResourceData (data, path) VALUES (?, ?)] 
03-24 19:42:41.304: E/SQLiteLog(2951): (1) statement aborts at 2: [ROLLBACK] cannot rollback - no transaction is active

在LogCat日志上。 现在给任何人服药,这意味着什么,问题出在哪里,也许我该如何解决? AppCacheMaxSize已经设置为100MB ,远远AppCacheMaxSize了应用程序的实际需求。

听起来好像数据库中有太多数据无法处理。

错误代码10状态代码表示A lock for the transaction could not be obtained in a reasonable time. (请参阅https://developer.mozilla.org/en-US/docs/IndexedDB/IDBDatabaseException )。

我通过增加appCache限制解决了这个问题。

将此代码放在onCreate方法末尾的[appName] .java中。

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 since API 18 but seems still to be needed
    super.appView.getSettings().setAppCacheMaxSize(1024*1024*20);
}

不幸的是,从18版开始不推荐使用此方法。但是,现在仍需要使我的应用程序与appCache一起使用。 来源: http : //developer.android.com/reference/android/webkit/WebSettings.html#setAppCacheMaxSize(long)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM