[英]When set objects to nil when using ARC?
我正在使用ARC
的iPhone项目。 该应用程序是基于导航的应用程序,使用UINavigationController
。
典型的用例是从“主” UIViewController
到“辅助” UIViewController
多次,可能多达100次。 辅助控制器有许多静态的本地PNG图像,其中一些是重复的。
我正在分析应用程序,我可以看到,当从“主”控制器转到“辅助”控制器时,它分配大约0.8 MB,但是,当按下后退按钮时,它不会释放内存。 所以,当我再次进入辅助控制器时,会分配其他0.8 MB,依此类推......
调试,我注意到从未调用辅助UIViewController
viewDidUnload:
方法,但我也读到了那个我应该设置为nil控制器保存的引用的方法。 在viewDidDisappear:
执行此操作viewDidDisappear:
没有用,因为我希望仅在按下后退按钮时才会发生这种情况,即从堆栈中弹出控制器时(在堆栈上推送另一个控制器时也会调用viewDidDisappear:
方法)。
所以问题是:我有什么必须这样做的吗? 我可以强制调用该方法吗? 这种行为是否正常(分析,在“主要” - >“次要” - >“主要” - >“次要” - > ......的某些周期后,分配达到20MB?
谢谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.