如何在iphone中释放系统库分配(与框架相关)

如何在iphone中释放系统库分配(与框架相关),iphone,memory-leaks,memory-management,ios-4.2,Iphone,Memory Leaks,Memory Management,Ios 4.2,我面临着系统库分配的大问题。 我没有从我的应用程序中得到任何泄漏,仍然有这么多的分配。我附上了各种屏幕截图。在我的应用程序中,使用自定义选取器从断言库中获取所有图像。这些图像是从在滚动视图上显示图像的选取器中选取的。 当我的应用程序在滚动视图上显示35个图像时,它的屏幕截图。如果我再次从自定义选取器分配中选取图像,则会增加。我看到的对象详细信息都与框架分配有关。不是从我的应用程序 请参见分配对象列表响应库是DYLD。 这是我的屏幕截图 我们如何释放这些分配?请帮帮我?确保您的应用程序没有泄漏的

我面临着系统库分配的大问题。
我没有从我的应用程序中得到任何泄漏,仍然有这么多的分配。我附上了各种屏幕截图。在我的应用程序中,使用自定义选取器从断言库中获取所有图像。这些图像是从在滚动视图上显示图像的选取器中选取的。

当我的应用程序在滚动视图上显示35个图像时,它的屏幕截图。如果我再次从自定义选取器分配中选取图像,则会增加。我看到的对象详细信息都与框架分配有关。不是从我的应用程序 请参见分配对象列表响应库是DYLD。 这是我的屏幕截图


我们如何释放这些分配?请帮帮我?

确保您的应用程序没有泄漏的对象,它们也会在仪器中消失。当然,它指向一个系统库,但它总是由您的bug导致的。选择其中一个并打开右侧视图。它可能会向您显示正确的代码堆栈和分配的代码行。

您可以做的另一件事:运行静态分析器产品->分析它将发现所有(至少大部分)泄漏;)

确保您的应用程序没有泄漏的对象,它们也会在仪器中消失。当然,它指向一个系统库,但它总是由您的bug导致的。选择其中一个并打开右侧视图。它可能会向您显示正确的代码堆栈和分配的代码行。

您可以做的另一件事:运行静态分析器产品->分析它将发现所有(至少大部分)泄漏;)

仅仅因为您没有泄漏并不意味着您正在正确管理内存。你所拥有的就是我所说的记忆膨胀——你保留它的时间比你需要的要长。(泄漏是指分配给没有引用的内存。膨胀是指分配给有引用但应该没有引用的内存。)


会给你一些好的策略来使用仪器来找到它们。(据我所知,这是一个非常可靠的消息来源,他仍然在苹果工作。)

仅仅因为你没有泄漏并不意味着你正确地管理了内存。你所拥有的就是我所说的记忆膨胀——你保留它的时间比你需要的要长。(泄漏是指分配给没有引用的内存。膨胀是指分配给有引用但应该没有引用的内存。)


会给你一些好的策略来使用仪器来找到它们。(据我所知,这是一个非常可靠的消息来源,他仍在苹果工作。)

这些分配是自动释放吗?这些分配是自动释放吗?是的,我正在这样做。但是分配非常高,这些响应库是框架名称,然后在内存密集型代码周围放置一个自动释放池,它会在操作后缩小。问题是,即使调用dealloc,对象也不会被释放(不要问我为什么)。NSAutoreleasePool将解除锁定池中分配的所有对象。您不应该自己调用解除锁定。改为发送释放(或自动释放)。@David Dunham抱歉,我在哪里写的?他必须写dealloc…ups很抱歉我发现了,我的意思是“…即使你调用release”,我也是这样做的。但是分配非常高,这些响应库是框架名称,然后在内存密集型代码周围放置一个自动释放池,它会在操作后收缩。问题是,即使调用dealloc,对象也不会被释放(不要问我为什么)。NSAutoreleasePool将解除锁定池中分配的所有对象。您不应该自己调用解除锁定。改为发送释放(或自动释放)。@David Dunham抱歉,我在哪里写的?他必须写dealloc…ups很抱歉我发现了,我的意思是“…即使你要求释放”