iOS推送/弹出 View Controller 内存仍在增加

标签 ios xcode memory

我正在测试我的 iPhone 应用程序的内存。 xcode 4.2.1,ios 5.0+,使用 ARC

我有两个 View Controller 。第一个有一个 UIButton 网格,第二个 View Controller 有关于用户触摸的按钮的详细信息。我正在使用推送segue。

我正在使用标记堆工具来测量堆增长。我触摸一个按钮,然后单击返回,然后单击“标记堆”,我这样做了几次。我的每个堆的标记堆增长在 1-2 mb 之间。

我预计堆增长为零。在更详细的描述中,我看到堆增长是由于非对象。我使用了泄漏工具,它没有显示任何泄漏的内存。

堆增长的原因可能是什么?我如何解决它?

弹出一个 UIViewController 是什么意思?当我单击导航栏中的后退按钮时,它是否会完全删除 UIViewController 并从内存中释放 UIViewController 和 subview ?还是我需要手动做一些事情?

谢谢!我很困惑...

最佳答案

确保每次单击按钮时都没有创建下一页类的对象。使用 if(!objVC) 之类的检查然后做一些事情..

这将使您的类只分配一次,并且您必须在 viewDIdUnload 的 viewWillDisappear 的下一页上管理对象的数据。

关于iOS推送/弹出 View Controller 内存仍在增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11555339/

相关文章:

ios - Nodejs Socket.io 适用于桌面 safari 和 chrome,但不适用于 iPhone

ios - 使用SwiftUI在CanvasView中绘图

iphone - 检测应用程序是否在 iOS 测试版上运行?

ios sendAsynchronousRequest定时器

xcode - 检查 Parse.com 中是否存在图像

ios - iPhone 4 和 5 支持的应用程序无需更改 Storyboard

c - `MEM_RESERVE` 的 `VirtualAlloc()` 标志今天真的有用吗?

c++ - 这个 valgrind 错误是什么意思?

c++ - 函数导致巨大的内存泄漏?

ios - Xcode 存档调试条错误