2011-08-26 61 views
4

我搜索了很多,但無法找到用iOS測量網頁加載時間的方式。 在應用程序中,我想顯示某些頁面加載時間..是否有可能與iOS SDK或第三方SDK?iOS測量網頁加載時間

感謝

回答

3

你可以加載一個URL請求並使用NSDate來查看它花了多長時間......讓我們假設你使用一個UIWebView來顯示你的頁面,以便測量加載時間,我將捕獲URL請求的時間,然後在委託方法 - (空)webViewDidFinishLoad:(UIWebView的*)webView的再次捕獲時間,如果你想這樣做,沒有一個UIWebView你可以使用的NSURLRequest/NSURLConnection的走差異化,例如

//lets say this is where you load the request and you already have your webview set up with a delegate 

    -(void)loadRequest 
    { 
     [webView loadRequest:yourRequest]; 


     startDate=[NSDate date] 
} 
//this is the delegate call back for UIWebView 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSDate *endDate=[NSDate date]; 
    double ellapsedSeconds= [endDate timeIntervalSinceDate:startDate]; 
} 

。 ..你可以做以下(我會做同步你也可以做異步)

NSDate *start=[NSDate date]; 
    NSURLRequest *r= [[ [NSURLRequest alloc] initWithURL:url] autorelease]; 
    NSData *response= [NSURLConnection sendSynchronousRequest:r returningResponse:nil error:nil]; 
    NSDate *end=[NSDate date]; 
double ellapsedSeconds= [start timeIntervalSinceDate:end]; 
+0

嗨丹尼爾,謝謝你甚至提供了我很好的示例代碼...我不想顯示網頁..只是想檢查頁面加載時間幕後..只是想顯示加載...消息,同時檢查加載時間..任何其他方式來做到這一點? – MomentH

+0

是檢查出我剛剛編輯 – Daniel

+0

清潔和簡單..真棒..謝謝:) – MomentH

0

假設你是一個UIWebView工作,你可以設置它的delegate,並注意到在上述委託的-webViewDidFinishLoad:方法的時間。這個時間和以前對webview的-loadRequest:方法的調用之間的區別應該會給你加載時間。

+0

謝謝Chaitanya ...我只是試圖顯示一些頁面加載時間沒有UIWebView ..所以屏幕將只顯示每個頁面加載時間的類型的網絡監控目的..不容易找到一些最好的辦法...... :( – MomentH

+0

這樣做,你可以使用NSURLRequest併發出請求並做同樣的事情,查看我的回答如下 – Daniel

+0

沒關係(我現在已刪除的評論)。得到你想說的話。 –