• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Why is this code leaking memory?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why is this code leaking memory?


  • Subject: Re: Why is this code leaking memory?
  • From: Dan Wood <email@hidden>
  • Date: Thu, 19 Dec 2002 11:52:54 -0800

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.

References: 
 >Why is this code leaking memory? (From: Jan Van Boghout <email@hidden>)

  • Prev by Date: Re: Why is this code leaking memory?
  • Next by Date: Re: Why is this code leaking memory?
  • Previous by thread: Re: Why is this code leaking memory?
  • Next by thread: Re: Why is this code leaking memory?
  • Index(es):
    • Date
    • Thread