Niedawno zauważyłem, że moja aplikacja zawiera sporadyczne LAG. i przez LGD rozumiem może potrwać do 40 sekund, zależy, czy używam WiFi lub mobilnej transmisji danych ...Log DEV_ACTION_COMPLETED</GATE-M> wydaje się opóźniać wykonanie na Androidzie
załadować URL strony, a następnie załadować js do wykonania:
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");
Po wywołaniu url obciążenie, strona jest wyświetlana w widoku strony internetowej, interfejs użytkownika jest czuły, mogę kliknąć na przyciski, wróć i przejdź do aplikacji ...
ALE
skrypt Próbuję Uruchomienie nie zostanie wykonane, dopóki nie zostanie wykonane DEV_ACTION_COMPLETED zostanie wydrukowany do dziennika, a następnie wszystko wróci do normy, a funkcja onPageFinished zostanie wywołana i natychmiast uruchomi skrypt. problem może zająć do 40 sekund.
== == AKTUALIZACJA
Wydaje się, że opóźnienie rośnie do pewnego punktu, a potem, że opóźnienie jest skrócić do zera i ponownie rośnie ... jak jego sekwencji: 0,1, 2,4,8,16,32 ... a następnie zaczyna się od 0.
Czy to możliwe, ponieważ w niedługim czasie tworzę nowe czynności za pomocą przeglądarki internetowej?
Jakieś myśli?
Spróbuj dodać 'webView.setW ebChromeClient (nowy WebChromeClient()); webView.setWebViewClient (nowy WebViewClient()); 'before' webSettings.setJavaScriptEnabled (true); '. Zobacz też: http://stackoverflow.com/questions/5820237/android-webview-loadurl-with-javascript-onpagefined-lag – Slartibartfast
Za kilka godzin ... – TacB0sS
Nie działa. . :( – TacB0sS