当我popToRootViewController时,当前VC和根VC之间的堆栈上没有任何视图得到他们的deinit调用

时间:2016-07-01 20:18:32

标签: swift

例如,这是我面临的问题;我有3个视图控制器。当我在VC1上时,内存为9.2MB,当我转到VC2时,内存为50MB,当我转到VC3时它会跳到~52MB。

VC1 - > VC2 - > VC3。

当我到达VC3时,我将popToRootVC发送到VC1。但VC2没有调用它的deinit,所以当我在VC1(根视图控制器)上时,内存仍然徘徊在48MB左右。

我尝试过的是,在popToRootVC之前,我向VC2发送通知,删除我添加到superview的所有视图,将这些相应的对象设置为nil,清除任何数组,设置可选变量我必须为nil然后最终将VC2作为观察者移除到通知默认中心。

问题是内存仍然徘徊在大约48MB左右,我不确定导致此问题的原因或解决方法。

知道为什么会发生这种情况和/或建议我可以采取哪些措施来缩小解决方案范围?

0 个答案:

没有答案