Iphone UIViewController内存管理/问题?

Iphone UIViewController内存管理/问题?,iphone,objective-c,memory-management,uiviewcontroller,Iphone,Objective C,Memory Management,Uiviewcontroller,在添加和删除UIViewController时,我注意到一个奇怪的行为 我现在不发布任何示例,我有一些视图控制器从xib加载它们的视图,还有一些是我手动创建的视图。(我必须为IB中创建的每个元素声明出口吗?即使是静态图形?还是作为分配自动进行卸载?) 我似乎注意到,即使我删除了视图控制器视图,然后释放控制器,分配(活动字节)instruments中的似乎没有下降。每次都会调用Dealloc。下次我创建视图控制器时,活动字节保持不变。就好像它们以前没有被释放,但仍处于缓存状态一样。问题是,我有几个

在添加和删除UIViewController时,我注意到一个奇怪的行为 我现在不发布任何示例,我有一些视图控制器从xib加载它们的视图,还有一些是我手动创建的视图。(我必须为IB中创建的每个元素声明出口吗?即使是静态图形?还是作为分配自动进行卸载?) 我似乎注意到,即使我删除了视图控制器视图,然后释放控制器,分配(活动字节)instruments中的似乎没有下降。每次都会调用Dealloc。下次我创建视图控制器时,活动字节保持不变。就好像它们以前没有被释放,但仍处于缓存状态一样。问题是,我有几个字节处理密集的视图?在图形中,但不是所有的都在同一时间..字节加起来。大约15Mb的内存(当应用程序启动ta 3时,大部分时间这就是它所需要的)。我也检查了一些苹果的例子,有时我注意到同样的行为。这是我遗漏的吗? 也许这是我特别做错的事情,所以我应该发布一些代码来检查什么可能是错的?
感谢

首先检查您的代码是否存在内存泄漏(使用泄漏工具),并在您的项目上运行“构建和分析”-可能是静态分析器可以发现一些问题


第二件要检查的事情是,您是否在释放控制器的dealloc方法中的出口:当从xib文件加载时,如果没有为出口定义属性,或者如果存在具有“retain”属性的属性,则默认情况下,出口将被保留。因此,如果您不释放它们,那么我认为它们一定会泄漏(尽管在我遇到类似问题时,仪器没有显示任何泄漏)

没有检测到泄漏,忘了提那件事了..还有analyze除了一些未使用的VAR之外没有说任何有趣的事情..我的主要问题是它是否可以进行某种缓存?因为重新分配似乎不会占用任何其他的内存--当你加载一个包含图像和声音资源引用的nib文件时,我在一篇文章中发现了这一点,nib加载代码尽可能缓存资源,以便于以后检索。例如,加载nib文件后,您可以使用NSImage或UIImage(取决于您的平台)的ImageName:方法检索与该nib文件关联的图像。所以我想可能就是这样,因为我的XIB大多包含图像,或者带有自定义图像的按钮等等!