Iphone CFString内存管理问题

Iphone CFString内存管理问题,iphone,ios,ios6,Iphone,Ios,Ios6,我正在为iPhone开发一个应用程序,遇到了一些内存管理问题。在应用程序执行过程中,活动字节不断增加,没有绑定。我试图在我的代码中追踪这个问题,但似乎找不到任何会导致活动字节急剧增加的东西。我在执行过程中注意到的一点是,CFString(不可变)的分配增加最快,并且从不减少或保持不变。有人知道为什么会这样吗?在此执行过程中,应用程序所做的全部工作是从本地数组或字符串填充一个表视图,然后下载另一个字符串对象数组并填充另一个表视图。我正在使用ARC 鉴于缺乏任何具体的细节,我会给你一些建议: 有关

我正在为iPhone开发一个应用程序,遇到了一些内存管理问题。在应用程序执行过程中,活动字节不断增加,没有绑定。我试图在我的代码中追踪这个问题,但似乎找不到任何会导致活动字节急剧增加的东西。我在执行过程中注意到的一点是,CFString(不可变)的分配增加最快,并且从不减少或保持不变。有人知道为什么会这样吗?在此执行过程中,应用程序所做的全部工作是从本地数组或字符串填充一个表视图,然后下载另一个字符串对象数组并填充另一个表视图。我正在使用ARC


鉴于缺乏任何具体的细节,我会给你一些建议:

  • 有关如何使用仪器查找泄漏的指南,请参阅

  • 有关如何从您的分配中获得具体建议,以及如何对这些分配的来源进行更有意义的分析,请参见本文第4点。简而言之,突出显示分配中一个无法解释的跳跃,设置底部窗口以显示调用树,隐藏系统库,并查看在哪个例程中消耗内存

  • 也不要忽视,如果不使用ARC,或者使用任何核心基础调用,这一点尤为重要。

    你在做核心基础功能吗?如果是这样,您显然需要知道您必须明确地将所有权转让给ARC(使用
    CfBridgegRelease
    \uUu bridge\u transfer
    )或手动调用
    CFRelease
    。不过,我前面提到的静态分析器会向您指出这一点


      鉴于缺乏任何具体的细节,我会给你一些建议:

      • 有关如何使用仪器查找泄漏的指南,请参阅

      • 有关如何从您的分配中获得具体建议,以及如何对这些分配的来源进行更有意义的分析,请参见本文第4点。简而言之,突出显示分配中一个无法解释的跳跃,设置底部窗口以显示调用树,隐藏系统库,并查看在哪个例程中消耗内存

      • 也不要忽视,如果不使用ARC,或者使用任何核心基础调用,这一点尤为重要。

        你在做核心基础功能吗?如果是这样,您显然需要知道您必须明确地将所有权转让给ARC(使用
        CfBridgegRelease
        \uUu bridge\u transfer
        )或手动调用
        CFRelease
        。不过,我前面提到的静态分析器会向您指出这一点


      当您查找泄漏时,您是否看到任何泄漏?或者是活动字节在增加?如果是后者,请确保没有任何循环逻辑(例如,从视图控制器A到视图控制器B执行模式转换,从B到A执行另一个模式转换(而不是取消B))。请参阅我答案中的第二点,了解分配来源。@kaiserphellos您的问题解决了吗?你能告诉我是什么解决了你的问题吗?当你寻找漏洞时,你看到了什么吗?或者是活动字节在增加?如果是后者,请确保没有任何循环逻辑(例如,从视图控制器A到视图控制器B执行模式转换,从B到A执行另一个模式转换(而不是取消B))。请参阅我答案中的第二点,了解分配来源。@kaiserphellos您的问题解决了吗?你能告诉我是什么解决了你的问题吗?