如何获取加载的UIWebView的实际网页大小(以字节或KB或MB为单位)?

时间:2014-07-09 09:33:05

标签: ios uiwebview browser nsurlconnectiondelegate network-traffic

我正在开发一个浏览器应用程序,我想跟踪网页加载时消耗的互联网数据量。 我正在使用此方法来计算iOS应用程序收到的数据。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSLog(@"Did Receive Data %i", [resourceData length]);
length += [resourceData length];
NSLog(@"Data in MB: %.3f",(length/(1024*1024)));
}

我在iOS模拟器和Android的相同浏览器应用程序中打开http://www.google.com。 当页面加载完成iOS应用程序显示使用的20KB数据但android应用程序显示使用的280KB数据。 在android中有一个类来获取活动会话中使用的数据,该类名称是TrafficStats。我搜索了很多,但在iOS中,我找不到任何类似的类或方法。

当调用webViewDidFinishLoading以获取webView消耗的实际数据以加载该页面时,我也尝试使用此代码。

-(void)webViewDidFinishLoad:(UIWebView *)webView{

NSString* script = @"document.documentElement.outerHTML.length";
length += [[webBrowser stringByEvaluatingJavaScriptFromString:script] floatValue];
NSLog(@"Data in MB: %.3f",(length/(1024*1024)));

//[self performSelectorOnMainThread:@selector(dataUsedByApp) withObject:nil waitUntilDone:5.0];
}

但这也不准确,因为它不能计算图像的大小,而且大小是用@" document.documentElement.outerHTML.length"计算的。

请帮我解决这个问题。 :)

0 个答案:

没有答案