I believe +[UIImage imageNamed] caches the image, so you would see memory increasing. I'm guessing that you eventually triggered a memory warning, so UIImage dropped its caches, resulting in the crash due to your over-release.
On Fri, Jul 24, 2009 at 1:04 PM, Dragos Ionel<dragosio...@gmail.com> wrote: > 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