Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Does cocoa just leak?



I was trying to do a mem test on my app today. First trying to get a base reading, before anything else occurred. So I have a window with a pulsing button on it connected to some action. Thats all I have on it. I launch the app, then go into top to see the mem usage. Ok. Then I switch back to my app and notice the mem usage goes up. Switch back to the terminal, mem usage goes back again. Try switching in and out again, nothing happens. I think, "Oh well, must be a fluke" So I switch in and out about 15 more times. After about every dozen or so switches mem usage goes up a few k. And this is with an App that wasn't doing anything.

To test my class I was doing:

for (i=0;i<5000;i++)
[instance URL];

This causes mem usage to go up about 500k. Thats not too bad, i guess. I set the URL thats returned to autorelease inside the class. However, doing:

for (i=0;i<5000;i++)
[[instance URL] path];

Causes the mem usage to go up to 5megs! thats a 4.5meg increase over "base"!

and path is part of NSURL.

Now for the button on my application. Again, I was trying to get a base mem level. All the button does when clicked is show an NSOpenPanel. I opened it, mem use skyrocketed (compared to "base") nearly tripling in value. I closed it to see if I could regain that mem back, only about a .8 megs was returned. I do understand that it gives my app an Open Panel to use so It doesn't have to keep loading it over and over. Understanding that, I opened it and closed it a few more times, each time all but .01-.05megs was returned to me.

Granted I could be doing something horribly wrong, but the Mem usage seems odd to me. The above loops were done in awakeFromNib.
--
Sincerely,
Rosyna Keller
Technical Support/Holy Knight/Always needs a hug

Unsanity: Unsane Tools for Insane People


References: 
 >Re: Makin' frameworks (From: Andreas Monitzer <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.