(iphone) UIImageView setImage: leaks?

前端 未结 4 1531
无人共我
无人共我 2020-12-03 15:52

i\'m changing image of UIImageview by [self setImage: newImage];

Looks like every time I does that with newImage, prior image doesn\'t seem to be released.
Wha

4条回答
  •  Happy的楠姐
    2020-12-03 16:32

    Yes, UIImageView setImage does leak! Actually, leaks CGImage, not UIImage (as instrument "allocation" shows)

    I use BrutalUIImage instead of UIImage

    @interface BrutalUIImageView : UIView {
        UIImage *image;
    }
    
    @property(nonatomic, retain) UIImage *image;
    
    @end
    
    @implementation BrutalUIImageView
    @synthesize image;
    
    - (void)setImage:(UIImage *)anImage {
        [image autorelease];
        image = [anImage retain];
        [self setNeedsDisplay];
    }
    
    - (void)drawRect:(CGRect)rect {
        [super drawRect:rect];
        [image drawInRect:rect];
    }
    
    - (void)dealloc {
        [image release];
        [super dealloc];
    }
    
    @end
    

提交回复
热议问题