每次导航时内存使用量持续增加,4-5分钟后崩溃。

3
在我的应用程序中,我有约50个nib文件。我使用了自动引用计数(ARC),并使用导航控制器进行导航。因此,每次导航时,x-code中的内存指示器都会不断增加,并出现崩溃。请问有什么内存管理的解决方案吗?

你如何实例化它们,又如何进行Segue转场? - Calin Chitu
我正在使用XIB,并通过pushviewcontroller和poviewcontroller创建该类的对象... - Rushi trivedi
我的意思是在推送它们之前在哪里/如何创建视图控制器(initwithnibname行)。 - Calin Chitu
1
这可能是因为您的代码中创建了对控制器的强引用。您是否将VC分配给任何“strong”属性?请展示您的代码。 - Amar
@Amar 不是单个变量强大。 - Rushi trivedi
1
@indianarmy 不看代码,我只能猜测。 - Amar
2个回答

1
你没有提供足够的信息来诊断你的问题。可能是泄漏(例如由强引用循环引起的,例如重复定时器的懒散使用)。也可能是废弃的内存(例如由导航中的某些循环逻辑引起的)。无法根据你目前分享的内容进行诊断。
我建议你观看WWDC 2013视频修复内存泄漏(仅限注册开发者)。这基于WWDC 2012视频iOS应用程序性能:内存,你可能需要先观看。这些视频将带你了解问题的分类,并介绍一些使用Instruments诊断问题的技术。

我没有内存泄漏,也没有将任何属性声明为强引用...我认为原因可能是导航循环,有什么解决方案吗? - Rushi trivedi
@indianarmy 首先,确定哪些东西没有被释放。您可以使用Instruments(如视频中所示),使用应用程序一段时间,拍摄快照/生成,再继续使用应用程序并返回原来的位置,然后再拍摄另一个快照/生成,这将向您显示(非常详细地)在这两个时间点之间分配了哪些对象。深入研究第二个快照/生成的详细信息,找出准确占用内存的内容,并从那里开始分析。不要猜测; 使用Instruments。 - Rob

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接