需要用 popToRootViewController 发布中间视图吗?

Posted

技术标签:

【中文标题】需要用 popToRootViewController 发布中间视图吗?【英文标题】:Need to release intermediate views with popToRootViewController? 【发布时间】:2011-08-26 10:16:12 【问题描述】:

在我的应用程序中,我使用 popToRootViewController 将用户重置到顶部屏幕,然后调整推送新视图的位置。我问自己中间的所有中间视图会发生什么......我应该正确地循环它们以释放/处置它们以及如何释放/处置它们?

我有一个低内存崩溃,我认为它可能来自这个。

提前感谢您的帮助

干杯, 啧啧

EDIT1:我现在明白这是自动完成的 - 但是: 1)是否有没有完成的情况...... 2)我应该调用什么方法来真正释放它们(我只想将视图保持在 4 以内,并且应该丢弃之后的任何内容)。 我相信你们,但从生活字节的增长中,一切都表明有些东西正在落后...... 感谢您的帮助

【问题讨论】:

您应该尝试使用“Leaks”工具来找出您的应用程序的内存占用量正在增长的确切原因。 我确实使用了泄漏 - 并且看到它正在增长......我还发现当我发布视图时,我写了类名而不是实例名......没有被编译器标记并且不知何故难以看到,因为名称的唯一区别是大写字母。谢谢 【参考方案1】:

popToRootViewController 将释放所有中间视图控制器内存。 Check this

【讨论】:

【参考方案2】:

当视图控制器从堆栈中弹出时,它会自动释放,因此您不必手动去释放它。由于popToRootViewController 会从堆栈中弹出每个视图控制器,直到它到达顶部,您不必担心手动释放它们。

【讨论】:

以上是关于需要用 popToRootViewController 发布中间视图吗?的主要内容,如果未能解决你的问题,请参考以下文章

双击UITabBarController时防止自动popToRootViewController

无法将标签栏应用程序添加到 popToRootViewController

在 popToRootViewController 之后没有显示标签栏

从另一个选项卡调用 popToRootViewController

单击按钮时的poptorootviewcontroller

popToRootViewController 在 vi​​ewWillAppear 之前被调用