Ios 如何知道Objective C类是否清理它在ARC下用malloc内部创建的内存?

Ios 如何知道Objective C类是否清理它在ARC下用malloc内部创建的内存?,ios,memory-management,automatic-ref-counting,nsmutabledata,Ios,Memory Management,Automatic Ref Counting,Nsmutabledata,我在iOS程序中使用NSMutableData类。我得到无限的记忆增长。我使用自动参考计数。当我使用分配工具时,我看到NSMutableData的initWithLength:方法使用Malloc调用来分配内存。在ARC下,程序员应该释放使用malloc分配的内存,因为ARC对此不做任何事情。因为我不知道NSMutableData类的实现,所以我不能确定NSMutableData分配的内存是否在NSMutableData释放时释放。根据分配工具,情况并非如此。有人知道这件事吗 另一个问题是,当调

我在iOS程序中使用
NSMutableData
类。我得到无限的记忆增长。我使用自动参考计数。当我使用分配工具时,我看到
NSMutableData
initWithLength:
方法使用Malloc调用来分配内存。在ARC下,程序员应该释放使用
malloc
分配的内存,因为ARC对此不做任何事情。因为我不知道
NSMutableData
类的实现,所以我不能确定
NSMutableData
分配的内存是否在
NSMutableData
释放时释放。根据分配工具,情况并非如此。有人知道这件事吗


另一个问题是,当调用小于当前大小的
NSMutableData
setLength:
方法时,是否会释放额外内存

“由于我不知道
NSMutableData
类的实现,我无法确定
NSMutableData
分配的内存是否在
NSMutableData
释放时释放。“NSMutableData类的使用量如此之大,以至于如果有一天它自己停止清理,苹果公司的某些人会因为让如此巨大的bug通过而被解雇。如果您没有看到
NSMutableData
释放其内部数据,然后,有什么东西抓住了对
NSMutableData
对象的引用。你认为我应该把代码放在@autoreleasepool之间吗?只有当你在循环中反复分配/解除分配autoreleased对象时才可以。@neo你会使用
@autoreleasepool
来最小化应用程序的高水位线(例如,您有一个创建许多自动释放对象的循环)。但是如果由于某些强引用而没有释放内存,
@autoreleasepool
将不会有帮助。您如何知道对象是否是自动释放对象?