繁体   English   中英

保留NavigationController和window的数量为3

[英]Retain count of navigationcontroller and window is 3

我正在开发一个基于导航的iPhone应用程序。 每当应用程序退出时,导航控制器和窗口的保留计数为3。有人可以向我解释如何解决此问题吗? 结果,未调用dealloc方法。

没有问题。

  • 除非看到确定的漏洞(通常是在Instruments中),否则您应该尽量不要将自己与保留数相关联
  • 您无需担心在应用程序退出时诸如窗口(可能还有您的nav控制器)之类的对象被取消分配。 届时,您所有应用程序的内存都会消失。

但是没有调用dealloc方法,无论是针对UIViewController的方法还是Appdelegate的方法都没有被调用。 视图控制器的keepcount值为1。问题是,我将它们保留在rootviewcontroller中,因为它们将被一次又一次地使用,释放它们并再次分配它们是la脚的。 那么,什么时候发布这些其他UIViewControllers? 不会调用rootviewcontroller的dealloc方法。

通过不依赖于调用dealloc方法来克服此问题。 应用程序拆卸代码应包含在适当的应用程序方法中。 对象的dealloc应该只执行释放该对象的内存并履行其在内存管理契约中的dealloc所必需的操作。 当您的应用终止时,其所有内存都被释放,因此无需调用dealloc。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM