我正在构建一个UIWebView包含大量图像,CSS,嵌入式视频和JavaScript tap处理程序的应用程序.滚动表现很糟糕,我正在寻找有效改善这种情况的方法.
如果以下任何特征导致延迟UIWebView滚动?还有哪些其他因素可能阻碍绩效?
width: 100%;吗?box-shadow,但是还有其他CSS属性,这些属性也会对滚动性能产生负面影响吗?如果有任何其他资源或工具可用于分析,我很乐意听到它们.
我在使用UIWebViews时遇到了问题,我在这里看到了同样的问题,但没有有用的答案.问题在于:UIWebView内存管理.我会引用它:
我正在开发一个大量使用UIWebView的应用程序.这个应用程序在从我的服务器加载内容时动态生成大量的UIWebViews.其中一些UIWebView非常大,并且有很多图片.
如果我使用仪器检测泄漏,我没有检测到任何泄漏.但是,分配了很多对象,我怀疑这与UIWebViews有关.
当webviews因不再需要而发布时,似乎并非所有内存都被释放.我的意思是,在向我的服务器发出请求后,该应用程序创建了一个UITableView和许多webview(仪器说大约8Mb).当用户点击时,所有这些都被释放但内存使用量仅下降约2-3 Mb,使用该应用程序5-10分钟后它崩溃.
我创建了简单的测试应用程序并获得了相同的结果.
这是一个tableView,我正在创建这样的DetailsView:
DetailsVC *detailViewController = [[DetailsVC alloc] initWithNibName:@"DetailsVC" bundle:nil];
detailViewController.n = indexPath.row;
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
Run Code Online (Sandbox Code Playgroud)
在DetailsVC中,我在IB中创建了一个webView.我加载像这样的HTML:
NSString *urlAddress;
if (self.n == 0)
{
urlAddress = @"http://www.google.com";
}
else
{
urlAddress = @"http://www.yahoo.com";
}
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
Run Code Online (Sandbox Code Playgroud)
我也这样做:
- (void)viewDidUnload {
self.webView = nil;
}
Run Code Online (Sandbox Code Playgroud)
就是这样,每次我在RootViewController中选择任何webView时,我都会丢失2-3 Mb的内存,这个问题是否有解决方案?
谢谢.