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