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

标签 ios xcode afnetworking instruments

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

我想 Xcode 只是错了,但为什么我的应用会被 iOS 杀死?

仪器显示这一点 - 峰值是 Core Data 查询,然后是图像下载 - 峰值约为 9.5MB,其余约为 8.5MB

Instruments

我也尝试过 Heapshot Analysis - 它显示出一点点增长,但远不及 Xcode 报告的数量

Heapshot Analysis

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

Xcode Memory Usage

有什么方法可以让 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/

相关文章:

ios - 如何在 iOS 中搜索姓名列表?

xcode - 代码签名身份 <名称> 与任何有效、未过期的代码签名证书不匹配

iphone - 如何在 GCC 和 Xcode 中手动引发编译器错误

objective-c - 如何在 Interface Builder 中显示自定义 View ?

ios - UIImageView+AFNetworking 获取URL的UIImage

ios - iOS:IAP如何工作?

ios - 应用因 IPV6 问题被 App Store 拒绝

iphone - 在按钮事件中显示下拉项的代码如何?

ios - AFNetworking - 重试直到 API 正确响应

ios - HTTP 加载失败(错误代码 : -1200 [3:-9802])