【问题标题】:just before release - how to check memory usage?就在发布之前 - 如何检查内存使用情况?
【发布时间】:2012-01-13 12:19:09
【问题描述】:

我们的应用程序运行良好,一切似乎都运行良好。我们已尝试尽可能多地管理内存,但根本没有崩溃。

现在在发布之前,我想检查一下是否有泄漏,或者一些可能导致我的应用被苹果拒绝的问题。

Apple 对内存泄漏的政策是什么?连小的都不允许吗?如果允许一些,那么限制是多少?

我应该使用什么软件/工具来检查内存管理/泄漏,以确保如果它给了我良好的结果,我的应用程序将被 Apple 批准,如果只是不崩溃还不够?

是否有关于其中一种工具的指南?

在 iOS 模拟器的所有 iOS 版本中检查我的应用程序是否足够?我只有 1 部 iPhone 4 :)

【问题讨论】:

    标签: objective-c xcode memory-management


    【解决方案1】:

    你可以做什么:

    • 运行“分析”(菜单栏 -> 产品 -> 分析或 SHIFT+CMD+B) 这会检查您的代码是否存在泄漏和死存储

    • 运行“配置文件”(菜单栏 -> 产品 -> 配置文件或 SHIFT+I) 这会运行 Instruments,让您可以在运行时跟踪您的分配和可能的泄漏。

    【讨论】:

      【解决方案2】:

      我认为没有关于泄漏的具体政策 - 但泄漏的程序会崩溃 - 而且 Apple 确实会因崩溃而拒绝应用程序。

      否则我确实同意 MatzeLoCal - 运行分析并修复所有问题 - 如果您怀疑存在任何问题,请运行大量分析。

      【讨论】:

      • “一个泄漏会崩溃的程序”——严格来说这不是真的。如果我只泄漏 1 NSString 我非常怀疑我的应用程序会崩溃。
      • 应该是“泄露多的程序会崩溃”
      【解决方案3】:

      除了运行分析...

      Xcode 中有一个名为 Instruments 的工具,可让您专门搜索应用程序中的内存泄漏。当您打开 Instruments 时出现提示时选择 Leaks 选项,然后在录制时在您的应用程序中乱来查看可能隐藏在您的应用程序中的任何内存泄漏。

      这里是使用 Instruments 的 Apple 官方文档:https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/FindingLeakedMemory.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-03
        • 1970-01-01
        • 2019-02-04
        • 2010-10-08
        • 2010-09-09
        相关资源
        最近更新 更多