我有一个基于导航控制器的应用程序,里面有 5 个视图控制器。当我推送视图控制器时,我分配了一些内存,当我返回 popViewController 时,我的 delloc() 方法被正确调用。我确信对于我推送和弹出的每个视图控制器都以正确的方式调用了 dealloc。
然而,当我使用 Instruments 运行应用程序(从性能工具开始 -> 对象分配,泄漏)时,我有一个奇怪的行为。当视图控制器弹出时,内存使用量不会减少,确切地说它不会像预期的那样减少:当我启动应用程序时它使用 950 KB,然后我推送第一个视图控制器,内存使用量增加到 1.56MB ,最后我弹出视图控制器,内存使用量现在是 1,55MB。
这种行为对吗??我确信每当我弹出一个视图并且 Leaks 工具没有显示任何内存泄漏时,每个 dealloc 方法都会被正确调用。我猜操作系统以某种方式“保留”视图,以便第二次推送同一个视图控制器时,加载过程要快得多......
有人可以确认这种行为是正确的吗?谢谢