我使用仪器来监视我的应用程序的(ARC)内存使用情况,并发现,当我从导航视图控制器堆栈弹出一个视图控制器时,它的dealloc方法被调用。 但是内存使用量只有一点点...(比如0.6M),并且比以前还要高。ViewController内存管理(以编程方式或使用ib)
所以这里是问题所在。我的应用程序的内存使用量不断增加....
如何将内存成本降低到视图控制器分配之前的值。 或者至少我怎么能释放更多的记忆。
此外,使用xib(storyboard)时,内存成本似乎更高。
我应该在dealloc方法中将数据设置为无像someArr = nil? 我不知道。任何人都请帮忙!谢谢!!
在视图控制器,可以存在一些资源如果加载使用该方法的图像'[UIImage的imageNamed:@由系统等'UIImage'缓存“xxx.png]”'。 – KudoCC 2014-09-05 09:13:45
@KudoCC是的,我知道了。我通常对大图像使用[UIImage imageWithContentsOfFile:],对于像按钮背景图像这样的小图像,我使用[UIImage imageNamed:]。我是否需要将数据源指向零,如someArr = nil,我尝试过,但没有意义.....内存使用率保持高... – Cilitie 2014-09-05 09:25:44
不,你不需要将它们设置为零。如果你正在使用xib,也许在vc被释放后需要一些内存,系统可能会缓存它,以便我用xib创建一个新的vc,它将比从文件中加载vc更快。 – KudoCC 2014-09-05 09:30:31