我正在开发一个 ipad 应用程序,该应用程序旨在一次显示多个 UIWebView 控件,并且想知道在 ipad 上遇到内存问题之前我们可以拥有的数量的合理限制是多少?
谢谢
我正在开发一个 ipad 应用程序,该应用程序旨在一次显示多个 UIWebView 控件,并且想知道在 ipad 上遇到内存问题之前我们可以拥有的数量的合理限制是多少?
谢谢
你必须对此充满活力。不要在您的应用程序中设置硬限制,等待内存警告然后开始清除 Web 视图,在用户需要时懒惰地重新加载它们。您应该首先使用截屏视图[CALayer renderInContext:]
,使其看起来无缝。
毕竟每个 Web 视图都会有不同的内存和 CPU 要求。一如既往,口头禅是测试,测试,测试。
...但是,当然,Safari 将您限制为九个打开的标签。这是一个非常硬的限制。所以……就是这样。
FWIW,我设法在 iPad 1 上一次在屏幕上显示 20 个 UIWebview。这些页面中都有 javascript 代码,它们也不是简单的。加载它们需要一段时间,但我没有收到内存警告,一旦加载,一切都顺利滚动。使用此处的代码:
然后我检查了内存使用情况,即:
用了113M,免费17M,总共131M,听起来不错。
我没有推动超过 20 个,这比我在实践中使用的要多得多。我印象深刻。
它对您的应用程序的 webview 没有合理的限制,这取决于内存留下的 ios
但要小心使用,webview 很难控制内存,
这是一个技巧,在发布 webview 之前这样做可能会减少内存使用
[web loadRequest: nil];
同时使用大量 webview 可能不是一个好主意