【问题标题】:iOS 5 - Blank UIWebView causing long delay before ViewDidAppeariOS 5 - 空白 UIWebView 在 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

【问题讨论】:

    标签: ios uiwebview xib viewdidappear


    【解决方案1】:

    试试这个? [webView loadHTMLString:@"" baseURL:@""];

    【讨论】:

    • 没有骰子。仍然挂起 5-10 秒,然后抛出异常(baseURL 需要一个 NSURL 并且你传递了一个字符串)。这说明延迟不在于WebView加载其内容,而在于WebView本身的绘制?
    • 那很烦人...baseUrl:[NSURL URLWithString:@""]怎么样
    • 试过了。我在那次调用之前和之后写了一个日志,它执行得非常快。之后就停止了
    猜你喜欢
    • 2010-11-08
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    相关资源
    最近更新 更多