2015-09-25 53 views
0

对不起,如果这个问题有点主观,但我找不到有关该主题的任何内容。iOS中动画图像的最佳实践 - UIImage或UIImageView?

的问题很简单:

以下备选方案中,哪一项是“最好的”,(即最佳性能)。无论选择哪种解决方案,我都想在UIImageView中显示图像。

self.imageView.image = [UIImage animatedImageNamed:@"imagename-" duration:2.0f]; 

self.imageView.animationImages = listOfMyImageNames; 

self.imageView.animationRepeatCount = 0; 
self.imageView.animationDuration = 2; 
[self.imageView startAnimating]; 

我知道的UIImageView的解决方案,给出了环等的数量更多的灵活性,但我想要一个无限动画这样就不会在这种情况下,无所谓。

+0

这是平等的。这只是两种方法来调用一种方法 – Igor

+0

@Igor你确定吗?在文档中哪里可以找到这个?在我看来,它们好像不一样,因为我们可以在使用imageView进行此操作时指定repeatCount的数量。 – ullstrm

+0

文档位于苹果官方网站https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/ 我确定在99%的文件系统上使用该组文件来获取两种方式的动画。所以它应该使用相同的代码来继续。即使没有,你在两种情况下都会有相同的表现。 要获得更好的性能,您应该直接使用视频(难以改变和支持)或openGL动画 – Igor

回答

3

在你描述的两个选项中,animatedImageNamed方法比尝试使用animationImages要好。原因是如果一系列图像太长或者宽度和高度过大,animationImages方法会使您的设备崩溃。问题是animationImages会以令人震惊的速度吃掉内存,而不是具有更好内存限制的animatedImageNamed API。在CPU使用率和内存使用情况方面,这两种方法实际上都不是最好的,因为可用的实现方式有significantly better