Android上的Webview数据库损坏

Android上的Webview数据库损坏,android,database,exception,webview,Android,Database,Exception,Webview,我正在开发一个Android应用程序,它使用webview来显示网页。我的大部分代码都与webview相关。“我的主要活动”包含一个显示特定网站的web视图 当我的webview.db损坏时,我正在尝试防止出现错误。我知道这不是常见的情况,但我想确保我的应用程序不会崩溃 正在尝试访问webview数据库,但该数据库已被删除 损坏将导致崩溃 我添加了方法setUncaughtExceptionHandler来处理异常。我可以捕捉到exeption,但当我尝试重新启动我的应用程序时,webview从

我正在开发一个Android应用程序,它使用webview来显示网页。我的大部分代码都与webview相关。“我的主要活动”包含一个显示特定网站的web视图

当我的webview.db损坏时,我正在尝试防止出现错误。我知道这不是常见的情况,但我想确保我的应用程序不会崩溃

正在尝试访问webview数据库,但该数据库已被删除 损坏将导致崩溃

我添加了方法setUncaughtExceptionHandler来处理异常。我可以捕捉到exeption,但当我尝试重新启动我的应用程序时,webview从未完成加载

我尝试使用以下代码“重新启动”我的应用程序:

我上次尝试失败,然后添加了一些代码,显示错误消息,删除webview数据库并关闭应用程序

    AlertDialog alertDialog = new AlertDialog.Builder(
                    DiscoverMobile.this).create();
            alertDialog.setTitle("Error");
            alertDialog.setMessage("Application files have been deleted or corrupted.  The app will close to fix this issue.  You can restart the app later");
            alertDialog.setButton("OK",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int which) {


                            webview.getContext().deleteDatabase(
                                    "webview.db");
                            webview.getContext().deleteDatabase(
                                    "webviewCache.db");
                            WebViewDatabase webViewDB = WebViewDatabase
                                    .getInstance(getBaseContext());

                            System.exit(0);
                        }
                    });
            alertDialog.show();
这是一个好的解决方案吗

Override
public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    view.clearCache(true);
}
也许您尝试过这个,但也可能将WebView缓存大小设置为较小的值。我不确定0是否有效,因此可能1:

webview.getSettings().setAppCacheMaxSize(1);
webview.getSettings().setAppCacheMaxSize(1);