您可以测量在Android中的webView中加载网页所需的时间吗?

时间:2014-07-22 21:10:57

标签: android time webview load android-webview

关于Android中的WebView有很多问题需要很长时间才能加载,但是我希望能够准确计算完全加载所需的时间,然后显示结果。

这可能吗?我可以启动一个计时器,但是一旦加载了WebView,它就会有一个HTML OnLoad样式调用吗?

我的代码是基本的:

/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(R.layout.pageloadtest);

        webView = (WebView) findViewById(R.id.webView1);
        webView.loadUrl("http://www.airometricwireless.com");
}

这样可以很好地加载页面。我只需要花费多长时间。

3 个答案:

答案 0 :(得分:4)

可能没科学准确,但我想你可以打电话

long a, b;

mWebView.setWebViewClient(new WebViewClient() {

    public void onPageStarted(WebView view, String url) {
        a = (new Date()).getTime;
    }

    public void onPageFinished(WebView view, String url) {
        b = (new Date()).getTime;
    }
});

然后b - a。

希望它有所帮助。

最好的问候。

答案 1 :(得分:0)

要完成页面加载,请使用

webView.setWebViewClient(new WebViewClient() {

   public void onPageFinished(WebView view, String url) {
        // do your stuff here
    }
});

答案 2 :(得分:0)

您可以使用onPageFinished,但正如文档所说,"当调用onPageFinished()时,渲染图片可能尚未更新。"

此外,它仅对简单页面有意义,因为它不会影响IFRAME或动态加载的内容,例如加载其他JavaScript的JavaScript,例如社交媒体按钮,广告,跟踪脚本等。它通常会导致页面感觉无法使用。

当人们说“加载速度慢”时,人们常常会说些什么。是"我需要很长时间才能与页面进行交互"这与加载资产所需的时间有很大不同。为此,你可能想测试一个onDOMReady - 类似的事件是从JavaScript发出的,或者如果没有使用它,当非延迟的JS实际初始化时。

基本上,只要您在页面中有任何动态加载行为,onPageFinished就变得毫无意义,您需要使用JS进行衡量。

与任何性能问题一样;

  1. 衡量互动以发现瓶颈
  2. 尝试修复瓶颈&再次测量
  3. 重复直到表演可以接受。