gpt4 book ai didi

android - WebView 导致 SQLiteDiskIOException

转载 作者:IT王子 更新时间:2023-10-29 06:21:43 27 4
gpt4 key购买 nike

我收到 SQLiteDiskIOExceptions 的报告已有一段时间了(通过 Flurry/acra)。我无法在本地重现该问题,但这是我最常发生的崩溃,在糟糕的一天每 50 个 session 发生一次。它们似乎在 Android 2.3.x 下特别频繁。

我完全没有在自己的代码中使用 SQL,但我同时运行了多个 WebView(两个,外加一个广告 SDK)。这些错误似乎都是由 WebView 通过以下任一方法引起的:

  • android.webkit.WebViewDatabase.clearCache
  • android.webkit.WebViewDatabase.flushCacheStat
  • android.webkit.WebViewDatabase.deleteCookies
  • android.webkit.WebViewDatabase.removeCache

(还收到了一些关于 android.database.sqlite.SQLiteDatabaseCorruptException 的报告,但这些报告极为罕见)。我在自己的代码中注释掉了与清除 WebView 缓存相关的任何内容,但这没有帮助。

Full LogCat dumps here.

有谁知道我可以用什么方法来防止、捕获或更清楚地隔离这些异常的原因?它们太频繁了,不可能只是由坏的 SD 内存引起的。

谢谢!

编辑:按要求编辑源代码:

  browser=(WebView)findViewById(R.id.webkit);
browser.setWebViewClient( new CustomWebViewClient(this,browser) );
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginsEnabled(true);
browser.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
webSettings.setBuiltInZoomControls(true);

browser.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
progressbarhorizontal.setProgress(progress);
}
});

XML:

        <WebView android:id="@+id/webkit" android:layout_width="fill_parent" android:layout_height="fill_parent" android:focusable="true" android:nextFocusDown="@+id/bottomview"></WebView>

最佳答案

您可以利用 setUncaughtExceptionHandler()为了捕获异常并优雅地处理它。

关于android - WebView 导致 SQLiteDiskIOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158434/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com