簡體   English   中英

您可以測量在Android的webView中加載網頁所需的時間嗎?

[英]Can you measure the time it takes to load a web page in a webView in Android?

關於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");
}

這樣可以使頁面正常加載。 我只需要時間需要多長時間。

可能不是科學上准確的,但是我想你可以打電話給

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。

希望能幫助到你。

最好的祝福。

要完成頁面加載,請使用

webView.setWebViewClient(new WebViewClient() {

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

您可以使用onPageFinished,但正如文檔所述,“當調用onPageFinished()時,渲染圖片可能尚未更新。”

另外,它僅對簡單頁面有意義,因為它不會考慮IFRAME或動態加載的內容,例如JavaScript會加載其他JavaScript(例如社交媒體按鈕,廣告,跟蹤腳本等)。通常,這些東西會使頁面感覺不正常。

人們常說“加載緩慢”的意思是“與頁面進行交互需要很長時間”,這與加載資產所需的時間有很大不同。 為此,您可能想要測試何時從JavaScript觸發onDOMReady的事件,或者如果不使用它,則實際上何時初始化非延遲JS。

本質上,只要頁面中有任何動態加載行為, onPageFinished就變得毫無意義,您需要使用JS進行度量。

與任何性能問題一樣;

  1. 測量互動以發現瓶頸
  2. 嘗試解決瓶頸並再次衡量
  3. 重復執行,直到性能可以接受為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM