Спасибо, я могу подумать, что если не найдется лучшего решения. Кеш довольно полезен для моего приложения :(.

ение некоторого времени я получаю отчеты об исключениях SQLiteDiskIOException (через Flurry / acra). Я не смог воспроизвести проблему локально, но это мой самый частый сбой, возникающий до одного раза в пятьдесят сеансов в плохой день. Они, кажется, особенно часто встречаются под Android 2.3.x.

Я абсолютно не использую SQL в своем собственном коде, но у меня одновременно работает более одного WebView (два плюс рекламный SDK). Кажется, что все ошибки были вызваны WebView одним из следующих способов:

android.webkit.WebViewDatabase.clearCacheandroid.webkit.WebViewDatabase.flushCacheStatandroid.webkit.WebViewDatabase.deleteCookiesandroid.webkit.WebViewDatabase.removeCache

(Также получено несколько отчетов об исключении android.database.sqlite.SQLiteDatabaseCorruptException, но они встречаются крайне редко). Я прокомментировал все, что касалось очистки кэша WebView в моем собственном коде, но это не помогло.

Полный дамп LogCat здесь.

Кто-нибудь знает, каким образом я мог бы предотвратить, поймать или более четко выделить причину этих исключений? Они слишком часты, чтобы просто быть вызваны плохой памятью 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>

Ответы на вопрос(3)

Ваш ответ на вопрос