我正在尝试使用 AFNetworking 2.5 下载大量图像并将它们流式传输到磁盘。根据 Xcode 中的内存监视器,这会导致无限内存增长(并最终导致内存警告和强制退出)——但使用分配工具分析内存使用情况表明内存使用情况稳定。
我想 Xcode 只是错了,但为什么我的应用会被 iOS 杀死?
仪器显示这一点 - 峰值是 Core Data 查询,然后是图像下载 - 峰值约为 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)。
仅在设备上观察内存使用情况,仅在发布版本中观察内存使用情况。否则,您将完全被误导。
关于iOS内存使用量增加,找不到罪魁祸首,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28321954/