2015-09-25 49 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