内存警告 IOS 6 App Dev 仪器中的实时字节数较低

Memory warning IOS 6 App Dev with low live bytes in instrument

提问人:user1666656 提问时间:9/13/2012 更新时间:11/19/2012 访问量:1412

问:

我正在更新应用程序以使其与IOS 6兼容,收到内存警告。仪器中的实时字节显示低使用率 (2.3 MB)。在 VM 跟踪器中,脏大小约为 50%。在 VM 跟踪器类型 = CG Image ->脏大小增加到 100%。我的应用程序要求用户拍照,但我没有使用任何核心图形对象。有没有办法释放CG图像脏内存?感谢您抽出宝贵时间查看我的请求。

iPhone 内存 警告 CGMiorice iOS6

评论

0赞 Brad Larson 9/14/2012
您是否使用堆快照检查了您的应用程序,以查看内存累积发生的位置?Live Bytes 作为应用程序总内存消耗的度量是无用的。相反,请使用内存监视器来观察这一点。
0赞 user1666656 9/14/2012
嗨,布拉德,堆照片和内存活动监视器似乎没问题,由于虚拟内存使用量增长超过 190MB,看起来应用程序正在抛出内存警告

答:

0赞 Spinoxa 11/19/2012 #1

我的应用程序使用 ARC 在 iOS6 上开始非常严重地泄漏内存,而它在 iOS5 上运行完美。当我说“泄漏”时,我实际上是指分配内存,然后在我从可变数组中删除对象时没有正确释放内存,导致应用程序的内存使用量急剧增加。

在经历了很多挫折之后,我设法通过在违规部分周围设置一个@autoreleasepool { ... } 来修复它。

我怀疑 iOS6 与 iOS5 相比,我的应用程序线程化方式不同,因为曾经有一个@autorelease池覆盖了该过程。

我建议您尝试该解决方案,因为它实施起来非常快。