Я недавно заметил, что в моем приложении есть случайная LAG. и LAG я имею в виду, что может занять до 40 секунд, зависит, если я использую Wi-Fi или мобильные данные ...Журнал <GATE-M> DEV_ACTION_COMPLETED</GATE-M>, похоже, задерживает выполнение на Android
я загружаю URL страницы, а затем загрузить JS для исполнения:
webView = (WebView) view.findViewById(R.id.WebView);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
logDebug("Loading URL: " + url);
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return WrappingClass.this.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
logInfo("loading JavaScript to webview.");
webView.loadUrl("full-js-here");
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
logError("error code:" + errorCode);
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
WebSettings webSettings = webView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webView.requestFocus(View.FOCUS_DOWN);
webView.loadUrl("url");
После вызова URL-адрес загрузки, страница отображается в веб-просмотра, интерфейс реагирует, я могу нажать на кнопки, вернитесь и перейдите приложение ...
НО
сценарий я пытаюсь запуск не выполняется, только до DEV_ACTION_COMPLETED печатается в журнале, затем все возвращается в нормальное состояние, и onPageFinished вызывается и запускает скрипт мгновенно. проблема в том, что это может занять до 40 секунд.
== UPDATE ==
кажется, что задержка растет в какой-то момент, и после того, что задержка укоротить до нуля и снова возрастает ... его как последовательность: 0,1, 2,4,8,16,32 ... и затем начинается с 0.
Может быть, потому, что я создаю новые действия с веб-просмотром за слишком короткое время?
Любые мысли?
Попробуйте добавить 'webView.setW ebChromeClient (новый WebChromeClient()); webView.setWebViewClient (новый WebViewClient()); 'before' webSettings.setJavaScriptEnabled (true);'. Также посмотрите на это: http://stackoverflow.com/questions/5820237/android-webview-loadurl-with-javascript-onpagefinished-lag – Slartibartfast
Поймет ему пару часов ... – TacB0sS
Не работает .. . :( – TacB0sS