gpt4 book ai didi

ios - UIWebView 以更高效的方式降低加载时​​间

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:27 24 4
gpt4 key购买 nike

我正在下载多个 html 并将它们作为字符串保存在本地 NSArray 中。然后我使用 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]]]; 

但我不确定这是否会给我带来任何改进?

另一个想法是我的应用程序中的某些东西(屏幕上的动画)正在减慢加载时间,所以也许我应该在不同的线程上 loadHTMLString:nextHtml

谢谢

最佳答案

最近我做了一些关于在后台加载内容到 UIWebView 的研究。我发现即使 loadRequest 成功也没有效果,而 webview 是不可见的并且没有在某处添加为 subview 。

但如果我在加载前访问 View ,它就会开始显示在后台加载的内容。

所以我先隐藏 View ,然后在其中加载内容,然后在向用户显示之前让 View 再次可见:

在加载方法中:

// 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;

这种方法对我有用。希望它也能为您指明正确的方向。

关于ios - UIWebView 以更高效的方式降低加载时​​间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15287381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com