在我使用 ARC 的 iPhone 应用程序中,推送某些 View Controller 会导致未释放的大量内存分配。大多数 Live Bytes 都有 header VM:CoreAnimation
我尝试使用 @autoreleasepool { } 包装各种代码,例如推送 View Controller ,但它没有任何区别。一旦不再需要 View Controller ,将它们设置为 nil 也无济于事。
我们将不胜感激您的帮助和建议!
更新
我意识到内存分配的时间与从表格 View 推送 CorePlot 图表的详细 View 一致。在 TableView 的头文件中也引用了详细 View 。一个问题是我将详细 View 设置为 nil,然后在它被推送之前重新分配它。如果我只在第一次加载 TableView 时启动详细 View 一次,然后在每次推送之前刷新其内容,则内存分配只发生一次。
但是,我还没有完全解决这个问题,因为在第一次推送详细 View 时仍然有很大的内存分配,并且永远不会释放。
Best Answer-推荐答案 strong>
也许您正在使用 CoreGraphics 框架在 View 上绘制一些东西,但您没有释放 coreGraphics 对象。 CoreGraphics 对象不是由 ARC 释放的,它必须手动保留/释放。
关于ios - ARC 的 CoreAnimation 内存问题,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19258549/
|