我在我正在处理的应用中有一个关于自动释放池和内存释放的问题。如果有人需要查看我可以发布的代码。
首先,我在这个应用程序中使用ARC,现在基本上我在启动时分配了一点点内存(介绍动画的图像),并且它们占用的内存不是&#39 ; t似乎正确解除分配,直到我因某种原因收到内存警告,或者我进入后台并重新进入应用程序的前台。
我一直在监控代码和工具中分配的内存量,因此看起来这个问题并非一些误报。我知道一个事实我正确处理了图像内存,因为我清楚地将UIImageView.animationImages属性设置为nil,并将UIImageView设置为nil并在动画后从内存中释放它的父视图控制器已经完成了。基本上,它所做的一切都设置为nil或者removeFromSuperview,以确保ARC知道它应该被释放。
有什么方法可以清除这个自动释放的内存池,类似于输入应用程序背景或收到内存警告的结果?
答案 0 :(得分:0)
想通了,我为我的介绍动画分配的UIImages是通过imageNamed:方法缓存的,因此即使在它们被自动释放一段时间后也会被保留。
要解决此问题,我使用的是imageWithContentsOfFile:方法,它不会缓存图像。