【问题标题】:How do I see how much memory my iPhone app is using?如何查看我的 iPhone 应用程序正在使用多少内存?
【发布时间】:2011-01-12 23:21:33
【问题描述】:

我的 iPhone 应用程序应该使用多少实际内存?什么东西太高了?

【问题讨论】:

    标签: iphone xcode memory sdk


    【解决方案1】:

    密切关注 -(void)applicationDidReceiveMemoryWarning:(UIApplication *)application 绝对重要,但如果这是游戏,则可能无法在收到警告时简单地释放资产(尤其是当前屏幕上的纹理) .

    如果您有点偏高(20 MB +),我建议您进行一些测试。使用 Instruments 和对象分配工具(运行 > 使用性能工具运行 > 对象分配),您可以监控内存占用的大小。然后,尝试运行 Safari 并填满页面,然后是一些游戏和任何其他可以让内存更高的东西,然后看看你的应用程序的性能如何。

    在我最近发布的测试中,24 MB 似乎相当安全,这是我在其他地方听说过的数字。一旦超过 30 MB 左右,您的用户很可能会开始出现罕见的崩溃(这恰好是我们的情况,已通过崩溃报告验证)。你走得越高,用户看到的崩溃就越多。不过没有具体限制,为了测试,我之前在 iPhone 3G 上将我的应用程序推到了 70 MB,但它不太可能在大多数情况下工作,也不太可能长期工作。

    在 iTunes 页面上请求用户重新启动设备会有所帮助,但不能保证它会有效。

    此外,这一切都是假设 3GS / 3rd Gen iPod Touch 之前的设备。如果应用程序仅在较旧的设备上运行,那么在较新的设备上应该没有问题(内存是两倍,256 MB)。

    【讨论】:

      【解决方案2】:

      我认为可用内存可能取决于几个因素,例如设备型号、未重新启动的时间等。
      您不应依赖某些固定值,而应尝试使用尽可能少的内存并在应用程序委托中实现 -(void)applicationDidReceiveMemoryWarning:(UIApplication *)application 和/或在视图控制器中实现 -didReceiveMemoryWarning 以处理那里的内存不足警告并释放未使用的内存。

      【讨论】:

        猜你喜欢
        • 2014-05-30
        • 1970-01-01
        • 1970-01-01
        • 2010-11-29
        • 2010-09-26
        • 1970-01-01
        • 2011-02-14
        • 2011-05-29
        • 1970-01-01
        相关资源
        最近更新 更多