iOS 5 - 空白 UIWebView 在 ViewDidAppear 之前导致长时间延迟
Posted
技术标签:
【中文标题】iOS 5 - 空白 UIWebView 在 ViewDidAppear 之前导致长时间延迟【英文标题】:iOS 5 - Blank UIWebView causing long delay before ViewDidAppear 【发布时间】:2013-06-04 11:21:54 【问题描述】:每次我尝试将 UIWebView 添加到我的应用程序时,它都会将主线程锁定 5-10 秒。我终其一生都无法弄清楚如何防止这种情况发生。
它在 ViewWillAppear 和 ViewDidAppear 之间锁定 UIWebView 未加载任何内容。我没有加载代码 任何。 这只发生在运行 5.1 的实际 Ipad 2 上。它不是 发生在模拟器上。 如果我 popViewController,然后再推它,它不会延迟我尝试过的:
[webView loadhtmlString:nil baseURL:nil];
在 ViewDidLoad 中
[webView stopLoading];
在 ViewDidLoad 中
在界面生成器中设置 WebView 隐藏
我没有尝试过阻止这种情况。
我有一个执行此操作的简单按钮:
TestViewController *test = [[TestViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:test animated:YES];
TestViewController 是一个空白的 ViewController,在 xib 文件中添加了 UIWebView
@implementation TestViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
return self;
- (void)viewDidLoad
[super viewDidLoad];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
@end
【问题讨论】:
【参考方案1】:试试这个? [webView loadHTMLString:@"" baseURL:@""];
【讨论】:
没有骰子。仍然挂起 5-10 秒,然后抛出异常(baseURL 需要一个 NSURL 并且你传递了一个字符串)。这说明延迟不在于WebView加载其内容,而在于WebView本身的绘制? 那很烦人...baseUrl:[NSURL URLWithString:@""]
怎么样
试过了。我在那次调用之前和之后写了一个日志,它执行得非常快。之后就停止了以上是关于iOS 5 - 空白 UIWebView 在 ViewDidAppear 之前导致长时间延迟的主要内容,如果未能解决你的问题,请参考以下文章
UIVisualEffects、UIWebView 透明背景