0

我的视图控制器是完全动态的,这意味着控件是基于屏幕 xml 文档添加到视图中的。现在我的应用程序消耗了大约 3MB 的内存,即使是改变方向也是如此。我有用于纵向和横向的单独屏幕 xml!。没有太多图像,只有我有一个大小为 200kb 的背景图像。我正在释放所有分配内存和释放属性的释放函数。所以没有办法泄漏,但是问题可能是添加到视图中的动态控件。有什么办法可以解决这个问题。有一些字典也用于缓存,但当动态屏幕加载的内存显示增加 3MB 时不会消耗太多内存,这就是问题所在。

4

2 回答 2

2

当 UI 元素对用户可见时分配它们。不要隐藏 UI 元素,而是从视图中删除这些元素并发布。如果您使用@property(nonatomic, retain),这些对象将处于活动状态,直到您的视图控制器被释放。

于 2013-11-14T06:07:42.413 回答
1

您应该将您的项目移动到 ARC 并让编译器为您完成保留发布的工作。选择编辑>重构>转换为 Objective-C ARC。还要确保在移至 ARC 后将 IBOutlet 属性声明为(弱、非原子)。

在此处输入图像描述

于 2013-11-14T06:09:46.363 回答