Skip navigation.
 
mlRe: Immediate memory release
FROM : Bob Smith
DATE : Tue Apr 29 22:33:02 2008

Use a local autorelease pool, like this:

- (IBAction)Generate:(id)sender
{

  // some code

  for (i = 0; i < count; i++) {

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    NSImage *tempSource = [NSImage imageWithContentsOfFile:sPath[i]];

    // some code

    [pool release];
  }
}


On Apr 29, 2008, at 4:30 AM, Yannick De Koninck wrote:
> Hi everybody,
>
> I am writing an application where, at some point in time, the user 
> clicks a button and for a great amount of images the average pixel 
> values are calculated and stored in an array.
> Basically this looks like this:
>
> -(IBAction)Generate:(id)sender
> {
>
>     // some code
>
> for (i = 0; i < count; i++)
>         {
>     NSImage* tempSource = [[NSImage alloc] initWithContentsOfFile:sPath
> [i]];
>     // some code
>     [tempSource release];
> }
>
> }
>
>
> When debugging with ObjectAlloc i found that the memory release 
> does not happen when the release message is sent but only after the 
> Generate function is done. So instead of allocating, deallocating, 
> allocating, deallocating... the application keeps allocating memory 
> and only releases it afterwards. This becomes a big problem when 
> the amount of loaded pictures rises. Is there a way to force the 
> memory manager to free the memory when the release message is sent 
> instead of after the call? Or can i solve this problem in another way?
> Thank you very much,
> Yannick, Belgium
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>

Related mailsAuthorDate
mlImmediate memory release Yannick De Koninck Apr 29, 13:30
mlRe: Immediate memory release Graham Cox Apr 29, 13:37
mlRe: Immediate memory release João Pavão Apr 29, 13:44
mlRe: Immediate memory release Paul Bailey Apr 29, 13:44
mlRe: Immediate memory release Joseph Kelly Apr 29, 16:50
mlRe: Immediate memory release Bob Smith Apr 29, 22:33
mlRe: Immediate memory release Yannick De Koninck Apr 30, 14:09
mlRe: Immediate memory release Graham Cox Apr 30, 14:18
mlRe: Immediate memory release Roland King Apr 30, 15:08
mlRe: Immediate memory release Graham Cox Apr 30, 15:17
mlRe: Immediate memory release matt.gough Apr 30, 15:35
mlRe: Immediate memory release Graham Cox May 1, 02:53
mlRe: Immediate memory release Jens Alfke May 1, 04:27
mlRe: Immediate memory release Graham Cox May 1, 04:45
mlRe: Immediate memory release Chris Suter May 1, 04:59
mlRe: Immediate memory release Melissa J. Turner May 1, 05:35
mlRe: Immediate memory release j o a r May 1, 07:00
mlRe: Immediate memory release Paul Bailey May 1, 11:05
mlRe: Immediate memory release Clark Cox May 1, 16:16
mlRe: Immediate memory release Ken Thomases May 1, 18:31