You are right, I was over releasing and maybe that was crashing the app.
But still, even without [image release] the memory used by the app on iPhone
is slowly increasing (like 3K for each image display). Maybe that is
supposed to happen , maybe something is cached somewhere.

But the good thing is it did not crash anymore after 200-300 images
displayed.

Thanks a lot,
Dragos


On Fri, Jul 24, 2009 at 3:14 AM, Jonathan del Strother <
maill...@steelskies.com> wrote:

> UIImage* image = [UIImage imageNamed:fileName];
> UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
> [image release];
>
> You're overreleasing the image there.  You sure the phone is dying
> because it's out of memory, rather than because of that?
>
> On Fri, Jul 24, 2009 at 3:07 AM, Dragos Ionel<dragosio...@gmail.com>
> wrote:
> > Hi,
> > I am working on a animal encyclopedia on iPhone. One of the pages
> displays
> > one photo of an animal. When the user swipes the screen the image is
> > replaced with another one.
> >
> > This works fine and when tested in the simulator with the Instrument for
> > Object Allocation, all looks cool.
> >
> > When I tested on the real iPhone with Instrument, the memory used
> increases
> > slowly but constantly so that eventually the application dies.
> >
> > Here is the method that is doing the image changing (direction means if
> the
> > new image should come from left or from right). The class is a
> > UIViewController
> >
> >
> > -(void) displayAnimal: (int) animaIndex fromDirection:(int)direction{
> >
> >  crtIndex = animaIndex;
> >
> >  NSString* animalName = [[animalList objectAtIndex:animaIndex]
> objectForKey:
> > @"name"];
> >
> > NSString* fileName   = [[animalList objectAtIndex:animaIndex]
> objectForKey:
> > @"file"];
> >
> >  self.title = animalName;
> >
> >  //remove all the subviews
> >
> > for (UIView *view in self.view.subviews) {
> >
> > [view removeFromSuperview];
> >
> > }
> >
> >  UIView* backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,
> 320,
> > 480)];
> >
> > backgroundView.backgroundColor = [UIColor blackColor];
> >
> > [self.view addSubview:backgroundView];
> >
> > [backgroundView release];
> >
> >  UIImage* image = [UIImage imageNamed:fileName];
> >
> > UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
> >
> > [image release];
> >
> >  CGRect imageFrame = imageView.frame;
> >
> > imageFrame.origin = CGPointMake(320*direction,0);
> >
> > imageView.frame = imageFrame;
> >
> >  [self.view addSubview:imageView];
> >
> >
> >  [UIView beginAnimations: nil context: @"identifier"];
> >
> > [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
> >
> > [UIView setAnimationDuration:0.5];
> >
> >  imageFrame.origin = CGPointMake(0,0);
> >
> > imageView.frame = imageFrame;
> >
> >  [UIView commitAnimations];
> >
> > [imageView release];
> >
> > }
> >
> > Can you see anything that is not right? Why is the memory allocation
> showing
> > different in simulator and on the iPhone?
> >
> > Thanks a lot,
> > Dragos
> > _______________________________________________
> >
> > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> >
> > 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/maillist%40steelskies.com
> >
> > This email sent to maill...@steelskies.com
> >
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to