iOS 内存使用量增加,找不到罪魁祸首

iOS memory usage increasing, can't find the culprit

我正在尝试使用 AFNetworking 2.5 下载大量图像并将它们流式传输到磁盘。根据 Xcode 中的内存监视器,这会导致内存无限增长(并最终导致内存警告和强制退出)——但使用分配工具分析内存使用情况表明内存使用情况稳定。

我认为 Xcode 在这里是错误的,但为什么我的应用程序会被 iOS 杀死?

仪器显示这一点 - 峰值是核心数据查询,其余是图像下载 - 峰值约为 9.5MB,其余约为 8.5MB

我也试过 Heapshot Analysis - 它显示了一点点增长,但远不及 Xcode

报告的数量

Xcode 的内存监视器显示了这一点 - 每次迭代增长多 MB。

有什么方法可以让 Instruments 向我展示 Xcode 看到的一切吗?或者是否有更好的工具可以用来找出所有这些内存的去向?

谢谢!

According to the memory monitor in Xcode, this is causing unbounded memory growth (and eventually memory warnings and force quits) - but profiling the memory usage using the allocations instrument shows the memory usage to be stable.

相信仪器和分配信息 - 不是 Xcode 中的内存监视器。内存监视器图完全无关紧要。忽略它。

这不是因为 Xcode 中的内存监视器没用或错误。这是因为 内存管理 对于调试构建与发布构建完全不同(Instruments 使用发布构建)。在 Swift 中尤其如此(你不说你是否使用 Swift)。

在设备上 观察内存使用情况,在发布版本中 。否则,你将完全被误导。