UIWebView加载和一般性能

use*_*795 5 html iphone loading uiwebview ios

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];
}
Run Code Online (Sandbox Code Playgroud)

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

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

一些额外的信息:我正在iOS6 SDK使用ARC,并以编程方式执行所有操作(不要使用IB或故事板).

Muh*_*sio 1

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

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

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

希望这能有所帮助。