ОШИБКА / Веб-консоль: Uncaught Ошибка: слишком много времени уходит в обработчик выгрузки - PullRequest
10 голосов
/ 20 октября 2011

Когда я загружаю URL через WebView, я иногда получаю множество сообщений вроде этого:

10-19 19:18:38.056: ERROR/Web Console(6524): 
Uncaught Error: Too much time spent in unload handler. at v8/DateExtension:1

Что означает эта ошибка?

Ответы [ 2 ]

4 голосов
/ 15 ноября 2011

Похоже, что это определено в DateExtension.cpp, в webkit.Это исключение C ++, которое генерируется, если JS-хук (вставленный в Date.getTime, если установлено enableSleepDetection (true)) вызывается более 1000 раз.

Возможно, вы захотите получить исходный код Android, чтобы посмотретьв это больше.Там нет документации по этому файлу.

0 голосов
/ 08 ноября 2013

Я получил ту же ошибку. После некоторых исследований я решил эту проблему. Может быть, этот код поможет вам:

        {
            webView = (WebView) view.findViewById(R.id.transcationwebview);
                progressdialog = ProgressDialog.show(mContext, "",
                        mContext.getString(R.string.please_wait));
                progressdialog.setCancelable(true);
                progressdialog.setOnCancelListener(new OnCancelListener() {

                    @Override
                    public void onCancel(DialogInterface dialog) {
                        webView.stopLoading();
                        // webView.clearView();

                    }
                });



                webView.setWebChromeClient(new MyChromeClient());
                webView.getSettings().setBuiltInZoomControls(true);
                webView.getSettings().setLayoutAlgorithm(
                        WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
                webView.getSettings().setUseWideViewPort(true);
                webView.getSettings().setLoadWithOverviewMode(true);
                webView.setWebViewClient(new WebViewClient() {
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        // TODO Auto-generated method stub
                        // view.loadUrl(url);
                        return false;
                    }

                    @Override
                    public void onPageFinished(WebView view, String url) {
                        // TODO Auto-generated method stub
                        super.onPageFinished(view, url);
                        if (progressdialog != null && progressdialog.isShowing()) {
                            progressdialog.dismiss();
                        } 

                    }

                    @Override
                    public void onPageStarted(WebView view, String url, Bitmap favicon) {
                        // TODO Auto-generated method stub
                        super.onPageStarted(view, url, favicon);
                    }

                    @Override
                    public void onReceivedError(WebView view, int errorCode,
                            String description, String failingUrl) {
                        // TODO Auto-generated method stub



                    }
                });
                webView.getSettings().setLoadWithOverviewMode(true);
                webView.getSettings().setPluginState(PluginState.ON);
                webView.getSettings().setBuiltInZoomControls(true);
                webView.getSettings().setPluginsEnabled(true);
                webView.setKeepScreenOn(true);
                webView.getSettings().setDomStorageEnabled(true);
                webView.getSettings().setAppCacheEnabled(true);
                webView.getSettings().setJavaScriptEnabled(true);
                webView.loadUrl(url);
}
    public class MyChromeClient extends WebChromeClient {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                try {

                    if (progressdialog.isShowing()) {
                        progressdialog.setMessage(getString(R.string.loading)
                                + newProgress + " %");

                    } else {
                        /*
                         * webView.stopLoading(); webView.clearView();
                         */
                    }
                } catch (Throwable e) {

                    e.printStackTrace();
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...