removeFromSuperview和内存管理

时间:2010-08-17 13:41:23

标签: objective-c iphone memory-management memory-leaks

我是Objective-c的新手,目前正在开发一个小应用程序。

我有一些内存管理问题,想问一下这个问题。我有一个按钮,我正在改变它的外观:

for (UIView *subview in button.subviews) 
{
if (![subview isKindOfClass:[UIImageView class]]) // don't remove UIImageView, otherwise it will not be able to set background
     {
        [subview removeFromSuperview];
     }
}
[button setBackgroundImage: [[imageArray objectAtIndex:itemNumber] forState:UIControlStateNormal];
/*
    creating myView and myLabel here
*/
[button addSubview:myView];
[button addSubview:myLabel];
[myLabel release];
[myView release];

代码实际上更复杂,但没有任何泄漏。尽管如此,每次我分配对象和已用内存的数量都会不断增长。我该如何解决这个问题?

非常感谢

1 个答案:

答案 0 :(得分:1)

你怎么测量的?用仪器?你检查'对象还活着'还是你正在测量分配的总内存/对象?有区别。