iOS测量网页加载时间

时间:2011-08-26 21:37:52

标签: ios

我搜索了很多但是找不到用iOS测量网页加载时间的方法。 在应用程序中,我想显示某些页面加载时间..是否可以使用iOS sdk或第三方sdk?

由于

2 个答案:

答案 0 :(得分:3)

你可以加载一个URL请求并使用NSDate来查看它花了多长时间......让我们假设您使用UIWebView来显示您的页面,以便测量加载时间,我将捕获请求URL的时间然后在委托方法 - (void)webViewDidFinishLoad:(UIWebView *)webView再次捕获时间并采取差异,例如

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

如果你想在没有UIWebView的情况下这样做,你可以使用NSURLRequest / NSURLConnection ...你可以做以下事情(我会同步地做你也可以做异步)

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

答案 1 :(得分:0)

假设您正在使用UIWebView,则可以设置其delegate,并在代理的-webViewDidFinishLoad:方法中记下时间。此时间与之前调用webview的-loadRequest:方法之间的差异应该会为您提供加载时间。