5

我正在使用UIWebView在我的应用程序中显示文本内容(我将内容存储在本地HTML文件中)。总之,我有三个 Web 视图,我根据用户反馈动态更改其内容。

尽管有些人可能认为这不是最被接受的方式,但我发现UIWebView显示格式化文本非常方便,并HTML在必要时使用修改该文本。虽然这在 99% 的情况下都有效,但有时我会遇到通常属于以下类别之一的问题:

  1. 有时,Web 视图内容加载缓慢并且延迟一秒左右。
  2. 内容加载但未显示。但是,只要我触摸内容弹出的视图(尝试滚动或其他东西)。
  3. 有几次我收到内存警告(通常在应用程序初始加载后不久),这绝不会影响我的应用程序的性能。它记录了内存警告,但应用程序像什么也没发生一样工作。

这是我用来将内容加载到我的 Web 视图的方法:

- (void)loadSimpleDocument:(NSString*)documentName inView:(UIWebView*)webView
{
NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}

除此之外,shouldStartLoadWithRequest还实现了委托方法,总是返回一个YES.

我的问题是:有没有办法提高我的网页视图的可靠性/性能(特别是加载)?有没有我忽略、做错或不知道的事情?

一些附加信息:我在iOS6 SDK、使用ARC和以编程方式做所有事情(不要使用 IB 或故事板)。

4

1 回答 1

1

您有 2 个选项来检查发生了什么:

  • 实施webViewDidStartLoad&webViewDidFinishLoad委托方法来检查内容未显示的原因(可能是内容尚未加载)。

  • 将 html 内容读取到 NSString 然后使用loadHTMLString:baseURL而不是使用loadRequest并检查它是否加载更快。

希望这会有所帮助。

于 2013-05-12T09:36:34.453 回答