不知道是否是内存泄漏(ARC)

我正在写自定义animation,我怀疑我有一个内存泄漏,但我不知道。 每次我运行一个给定的animation时,内存都会上升一点,但是不会下降。 为了确定,我做了一个testing:

NSLog(@"%@", self.weakanim); // The animation collection to run HyAnimationCollection * collection = [[HyAnimationCollection alloc] init]; self.weakanim = collection; 

首先这个日志nillogging,那么它总是logging一个地址。 所以这里有两个指标:

  1. 内存从9.7MB开始,每10次运行一次就增加0.1MB。 我testing了这个大约12MB。 现在,每次释放内存还是仅仅是ARC(就像JVM的垃圾收集器)只是周期性地释放内存? 也就是说,也许这不是泄漏,而是ARC还没有释放它,因为我没有达到一定的数量。
  2. 为了看看之前的animation片集是否被释放,我宣称weakanim weak ,但同样的问题仍然存在:ARC是不是没有发布

  1. ARC不像JVM那样工作。 最接近的是它使用“自动释放池”。 在这种情况下,直到运行循环结束时,对象才会关联。 如果可以看到animation正在运行,那么运行循环很可能正在运行,并且池应该定期刷新。

  2. 显示是否有泄漏的更好的方法是在HyAnimationCollection类的dealloc方法中放置一个断点。 如果其余的调查是正确的,我的猜测是,它从来没有被调用。 代码中可能有一个保留周期。