UIWebView更低的加载时间,更高效的方式
我正在下载乘法htmls并将它们保存在NSArray
string本地。 然后我使用3个UIWebViews
加载内容。 用户总是看到一个UIWebView
并使用下面的代码在后台加载2个UIWebViews
:
[_firstWebView loadHTMLString:nextHtml.body baseURL:nil];
当用户在UIWebViews
之间移动时,如果他一次移动2个UIWebViews
,我仍然可以看到1-2秒的加载速度慢。 我想到了5甚至7 UIWebViews
但恐怕会严重影响内存使用。
另一个想法是保存在NSData
本地的内容,然后加载
[web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]];
但是我不确定这会给我带来什么改善,还是会呢?
另一个想法是,我的应用程序(屏幕上的animation)的东西是减缓加载时间,所以也许我应该加载loadHTMLString:nextHtml
在不同的线程?
谢谢
最近我做了一些关于在后台加载内容到UIWebView的研究。 我发现,即使成功的loadRequest没有效果,而webview是不可见的,而不是作为子视图添加。
但是,如果我在加载之前访问一些视图,它将开始显示在后台加载的内容。
因此,我先隐藏视图,然后在其中加载内容,然后再显示给用户,使视图再次可见:
在加载方法中:
// make some access to view to reflect content changes self.webView.hidden = YES; [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:someurl]]];
当用户切换到webview时:
// make view visible again self.webView.hidden = NO;
这种方法为我工作。 希望它也指向你正确的方向。