【问题标题】:How many UIWebView 's visible at once before hitting memory limits on ipad在达到 ipad 的内存限制之前,一次可以看到多少 UIWebView
【发布时间】:2012-05-17 13:25:14
【问题描述】:

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

谢谢

【问题讨论】:

  • 您尝试过什么样的网站来达到这 20 个?我最多只能做 9 个。非常感谢!

标签: iphone objective-c ipad memory uiwebview


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    [web loadRequest: nil];
    

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

    【讨论】:

    • 我只是想要一个大概的数字——六个?两打?甚至是一个粗略的想法,每个 uiwebview 使用多少内存。或者任何东西,真的。
    • 也许改变方式来实现你的想法,它可能会导致你的应用程序无法预测
    【解决方案3】:

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

    Determining the available amount of RAM on an iOS device

    然后我检查了内存使用情况,结果是:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 2021-01-16
      • 2012-08-12
      • 2019-10-07
      • 1970-01-01
      相关资源
      最近更新 更多