1

我正在开发一个 ipad 应用程序,该应用程序旨在一次显示多个 UIWebView 控件,并且想知道在 ipad 上遇到内存问题之前我们可以拥有的数量的合理限制是多少?

谢谢

4

3 回答 3

4

你必须对此充满活力。不要在您的应用程序中设置硬限制,等待内存警告然后开始清除 Web 视图,在用户需要时懒惰地重新加载它们。您应该首先使用截屏视图[CALayer renderInContext:],使其看起来无缝。

毕竟每个 Web 视图都会有不同的内存和 CPU 要求。一如既往,口头禅是测试,测试,测试。

...但是,当然,Safari 将您限制为九个打开的标签。这是一个非常硬的限制。所以……就是这样。

于 2012-05-09T04:36:12.260 回答
0

FWIW,我设法在 iPad 1 上一次在屏幕上显示 20 个 UIWebview。这些页面中都有 javascript 代码,它们也不是简单的。加载它们需要一段时间,但我没有收到内存警告,一旦加载,一切都顺利滚动。使用此处的代码:

确定 iOS 设备上的可用 RAM 量

然后我检查了内存使用情况,即:

用了113M,免费17M,总共131M,听起来不错。

我没有推动超过 20 个,这比我在实践中使用的要多得多。我印象深刻。

于 2012-05-09T04:31:33.160 回答
0

它对您的应用程序的 webview 没有合理的限制,这取决于内存留下的 ios

但要小心使用,webview 很难控制内存,

这是一个技巧,在发布 webview 之前这样做可能会减少内存使用

[web loadRequest: nil];

同时使用大量 webview 可能不是一个好主意

于 2012-05-09T02:45:20.270 回答