2011-08-26 55 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

没关系(我现在已删除的评论)。得到你想说的话。 –