【问题标题】:iOS: Tracking how long it takes for UIWebView to fully load?iOS:跟踪 UIWebView 完全加载需要多长时间?
【发布时间】:2014-01-06 00:15:11
【问题描述】:
我正在尽最大努力优化在我的 uiwebview 中加载网页所需的时间。如何跟踪加载它所需的毫秒数?这对我来说更重要的是看看我的优化是否有效。
更新:我一直在使用委托方法,但问题是不知道它何时完成加载,或何时开始加载。我想知道从第一次开始请求到完成加载 url 需要多长时间(实际时间以毫秒为单位)。
【问题讨论】:
标签:
javascript
ios
objective-c
uiwebview
uiwebviewdelegate
【解决方案1】:
设置一个名为 NSDate *methodStart 的属性。
当你开始加载 webView 时:
methodStart = [NSDate date];
完成后:
NSDate *methodFinish = [NSDate date];
NSTimeInterval executionTime = [methodFinish timeIntervalSinceDate:methodStart];
NSLog(@"executionTime = %f", executionTime);
考虑到 webView 通常会调用webViewDidFinishLoad: 几次,因此您将获得几次 NSLog,而最后一个就是您需要的。
【解决方案2】:
从请求开始记录(也为 UIWebView 设置委托)
webView loadRequest
或
webView loadHTMLString: baseURL:
或
webView loadData: MIMEType: textEncodingName:
取决于你使用的是哪一个
通过 UIWebViewDelegate 方法完成后记录
- (void) webViewDidFinishLoad: (UIWebView*) webView