Does UIImageView cache images?

Probably I’m gonna ask the same question which was asked by other person (But it has no responses):
Speed up first UIImageView animation (force cache the images)

But, My short question is:
I have 60 images in resources, in timeinterval loop I’m gonna animate that images, each time setting to UIImageView.image the n’th image from resouce.

  • How to disable caching in Alamofire
  • Is there a way to clear the cache used by UIImage class?
  • What's the easiest frame by frame animation technique in the iPhone sdk?
  • Are NSLayoutConstraints animatable?
  • Sharing an Image between two viewControllers during a transition animation
  • Create a shake animation for a UIAlertView
  • The problem is: first animation is bad! When I loop all images again in same UIImageView, animation is perfect. Can we pre cache images in UIImageView?

    EDIT: Or maybe we can make some tricks, to make animation smooth?

    3 Solutions Collect From Internet About “Does UIImageView cache images?”

    The method
    [UIImage imageNamed:@""]
    caches the image. The UIImageView doesn’t. I had a problem in an app with a lot of images that was crashing due to low memory.
    To fix if I changed to [UIImage imageWithContentsOfFile:@""] that does not caches the image.

    To pre-cache the image you can simply call [UIImage imageNamed:@""] for all images you want in the init method. But if you receive a memory warning the images gonna be deallocated.

    UIImageView does not cache the image, as [UIImage imageNamed:@""] does. Unfortunately, if you have a lot of images, imageNamed will crash your application because it runs out of memory.

    You can pre-load all of the images in an NSArray using [UIImage imageWithContensOfFile:@""].
    Once you have the array, you can do what you want!

    No, UIImageView does not cache images. image property declared as retain, so when you set new image, then imageView send release message to old image and retain to new one.

    The easiest way to animate UIImageView is to set array of images to property animationImages and call startAnimating method

    imageView.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"1.png"], ..., nil];
    imageView.animationDuration = 2.0f;
    [imageView startAnimating];