我添加了一个图片到按钮
UIImage* deleteImage = [UIImage imageNamed:@"Delete.png"];
CGRect imageFrame=CGRectMake(-4,-4, 310, 55);
[btn setFrame:imageFrame];
btn.backgroundColor=[UIColor clearColor];
[btn setBackgroundImage:deleteImage forState:UIControlStateNormal];
[btn setTitle:@"Delete" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(editDeleteAction) forControlEvents:UIControlEventTouchUpInside];
[elementView addSubview:btn];
[deleteImage release];// do we need to release the image here
如果我在这里发布它的工作正常,但在对象分配中,图像数量的数量正在增加。
答案 0 :(得分:2)
如果使用imageNamed:消息创建图像,则不必释放它,因为您将获得自动释放的图像。
仅当您使用其中一个init ...:消息创建图像时,您必须稍后将其释放。
答案 1 :(得分:0)
“ imageNamed :”方法提供自动释放的对象,因此您不必释放对象。
FYI :“ imageNamed :”方法使用内部缓存(如果imageNamed:方法广泛使用,您可能会面临内存警告)。最好在收到警告时删除缓存。
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[[ImageCache sharedImageCache] removeAllImagesInMemory];
}
完成本指南http://akosma.com/2009/01/28/10-iphone-memory-management-tips/