Antw.: Why is this code leaking memory?
Antw.: Why is this code leaking memory?
- Subject: Antw.: Why is this code leaking memory?
- From: Jan Van Boghout <email@hidden>
- Date: Thu, 19 Dec 2002 21:25:10 +0100
Van: Jan Van Boghout <email@hidden>
Datum: do, 19 dec 2002 21:24:07 Europe/Brussels
Aan: Dan Wood <email@hidden>
Onderwerp: Antw.: Why is this code leaking memory?
imageData = [[NSData alloc] initWithContentsOfFile:@"/Library/Desktop
Pictures/Aqua Blue.jpg"];
imageRep = [[NSBitmapImageRep alloc] initWith
Data:imageData];
[imageData release];
[imageRep release];
didn't work either, still leaks. This is not in a loop, it gets called
when I want a new pic and the imageRep of that pic.
>
Not quite answering your original question, but this may provide some
>
insight. The "imageRep" object you create is autoreleased, and so is
>
the NSData object. Because you did not "alloc" (or copy) them, they
>
are temporary, autoreleased objects. So your calling release on it is
>
not really what you want to do, because it should take care of the
>
releasing for you when you get back to the event loop.
>
>
Could this be something you are running within a loop, so that the
>
autorelease pool doesn't get a chance to clear itself?
>
>
It would be a good idea to either surround your code in a new
>
autorelease pool, or change your statement to instead explicitly
>
alloc/init the NSData and the NSBitmapImageRep objects, and then
>
release them when you are done with them. I can't guarantee that this
>
will solve the problem, though....
>
>
On Thursday, December 19, 2002, at 11:31 AM, Jan Van Boghout wrote:
>
>
> Hello everybody,
>
>
>
> I have two lines that load an imageRep of an image on the HD, and
>
> they're leaking memory like hell. Any ideas why this is happening? It
>
> shouldn't, that's the problem.
>
>
>
> Code:
>
>
>
> imageRep = [NSBitmapImageRep imageRepWithData:[NSData
>
> dataWithContentsOfFile:@"/Library/Desktop Pictures/Aqua Blue.jpg"]];
>
>
>
> [imageRep release];
>
>
>
> Say I want to load the Aqua Blue desktop pic. *Every* time this gets
>
> called my test app's virtual memory usage increases with 3 MB or more,
>
> I don't even need to load different pics. Any ideas to prevent this
>
> from happening? Shouldn't the release actually release the memory? I
>
> also tried creating the data separately and releasing it separately,
>
> but that doesn't solve the leak either.
>
>
>
> All ideas much appreciated,
>
>
>
> Jan Van Boghout
>
> _______________________________________________
>
> cocoa-dev mailing list | email@hidden
>
> Help/Unsubscribe/Archives:
>
> http://www.lists.apple.com/mailman/listinfo/cocoa-dev
>
> Do not post admin requests to the list. They will be ignored.
>
>
>
>
>
>
--
>
Dan Wood
>
Karelia Software, LLC
>
email@hidden
>
http://www.karelia.com/
>
Watson for Mac OS X: http://www.karelia.com/watson/
>
_______________________________________________
>
cocoa-dev mailing list | email@hidden
>
Help/Unsubscribe/Archives:
>
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
>
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.