开发者

iOS measuring web page loading time

I searched a lot but couldn't find the way to measure web page loading time wi开发者_StackOverflow社区th iOS. In the app, I want to show certain page loading time.. Is it possible with iOS sdk or third party sdk?

Thanks


You can load a URL request and use NSDate to see how long it took...lets assume you use a UIWebView to show your page so to measure the loading time i would capture the time when the URL is requested and then in the delegate methods - (void)webViewDidFinishLoad:(UIWebView *)webView capture the time again and take the difference, for example

//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];
}

If you want to do this without the UIWebView you can just use NSURLRequest/NSURLConnection... you can do the following (I will do it synchrnosly you can also do it async)

    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];


Assuming you are working with a UIWebView, you can set its delegate and make note of the time in the delegate's -webViewDidFinishLoad: method. The difference between this time and the earlier call to webview's -loadRequest: method should give you the loading time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜