例如,这是我面临的问题;我有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左右,我不确定导致此问题的原因或解决方法。
知道为什么会发生这种情况和/或建议我可以采取哪些措施来缩小解决方案范围?