【问题标题】:iOS - How to read a memory leak report in instrumentsiOS - 如何在仪器中读取内存泄漏报告
【发布时间】:2013-01-22 06:42:04
【问题描述】:

我在 xcode 中使用工具发现我的应用程序中似乎有很多内存泄漏。当我从 UIImagePickerController 选择/压缩视频时,我发现大约 4.5MB 存储在我的文档和手机上的数据中,主要问题就出现了。当我删除视频的引用时,4.5MB 仍然存在并且没有被删除。有人能告诉我如何处理这份报告吗?这是否与我的随机数据存储在我的文档和数据中的问题有关。谢谢。

【问题讨论】:

    标签: xcode cocoa-touch memory-leaks instruments


    【解决方案1】:

    显然您有一个多线程应用程序(因为您使用的是 NSOperationQueue)。我假设您正在使用 ARC。可能是您的线程没有设置自动释放池吗?在这种情况下,在这样的线程中创建的所有自动释放对象都会泄漏,因为没有自动释放池存储对它们的引用。请检查是否每个线程都有一个 @autoreleasepool{} 块设置,其中包含任何可以创建自动释放对象的指令(例如 getter)。

    【讨论】:

    • 我将我的项目转换为 ARC,没有更多泄漏,但 4.5MB 仍存储在我 iphone 的常规使用设置选项卡中的文档和数据中。您是否听说过有关 UIImagePickerController 执行此类操作的 Apple 相关问题?
    • 对不起,我还没用过那个,不知道会发生什么。
    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2012-07-06
    • 2011-02-15
    • 2010-11-26
    相关资源
    最近更新 更多