【发布时间】:2011-05-13 14:55:11
【问题描述】:
关于如何在使用包含几个图像(约 500K)的 UIView 时提高内存效率的初学者问题。我想如果我以错误的方式处理这个问题并调用这个视图十到二十次,我的应用程序将会崩溃(因为我已经泄漏了大约 5-10 MB 的 RAM)。
我有一个 UIView,我像这样以编程方式创建:
myView = [[UIView alloc] initWithFrame:0,0,0,0];
我在这个视图中添加了几个图像,这样它会占用 500K 的内存。在我完成这个视图之后,我想再次释放内存。所以我编码了:
[myView removeFromSuperview];
myView = nil;
[myView release];
这是要走的路吗?我对上次发布电话特别不确定。如果我将 myView 从我的 superview 中删除并将其设置为 nil,它是否尚未发布?
另外,在第一个实例中简单地自动释放 myView 是否是个好主意,即
myView = [[[UIView alloc] initWithFrame:0,0,0,0] autorelease];
如有任何建议和更正,我将不胜感激。
【问题讨论】:
标签: iphone objective-c cocoa-touch memory-management