【问题标题】:iOS measuring web page loading timeiOS测量网页加载时间
【发布时间】:2011-08-26 21:37:51
【问题描述】:

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

谢谢

【问题讨论】:

    标签: ios


    【解决方案1】:

    您可以加载一个 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];
    

    【讨论】:

    • 嗨丹尼尔,感谢您甚至为我提供了很好的示例代码...我不想显示网页..只想检查页面加载时间背后的场景..只想在检查加载时间时显示 Loading... 消息.. 还有其他方法吗?
    • 干净简单..真棒..谢谢:)
    【解决方案2】:

    假设您正在使用UIWebView,您可以设置它的delegate 并在委托的-webViewDidFinishLoad: 方法中记下时间。这次和之前调用 webview 的 -loadRequest: 方法之间的差异应该会给你加载时间。

    【讨论】:

    • 谢谢 Chaitanya... 我只是想显示一些没有 UIWebView 的页面加载时间.. 所以屏幕将只显示每个页面的加载时间以用于网络监控目的.. 不容易找到一些最好的方式... :(
    • 请问,要做到这一点,您只需使用 NSURLRequest 并发出请求并执行完全相同的操作,请在下面查看我的答案
    • 没关系(我现在删除的评论)。明白你想说的话。
    • Daniel,我相信NSURLRequest 是同步获取数据的。我宁愿建议使用NSURLConnection
    • 你也可以发出 NSURLRequest 异步,使用 NSURLCONnection 发出请求,为了简单起见,我做了示例同步
    猜你喜欢
    • 2011-02-18
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多