2015-09-25 1 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 Вы уверены? Где можно найти это в документации? Мне кажется, что они не совпадают, потому что мы можем указать количество repeatCount при выполнении этого с помощью imageView. – ullstrm

+0

документация находится на официальном сайте Apple. Https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/ Я уверен, что на 99% вы используете набор файлов в файловой системе, чтобы получить анимация в обоих направлениях. Поэтому он должен использовать тот же код для продолжения. И даже если нет, у вас будет такая же производительность в обоих случаях. Чтобы иметь лучшую производительность, вы должны использовать видео (трудно изменить и поддерживать) или анимацию openGL напрямую – Igor

ответ

3

Из двух параметров, которые вы описываете, подход animatedImageNamed лучше, чем пытаться использовать animationImages. Причина в том, что подход animationImages приведет к сбою вашего устройства, если серия изображений слишком длинная или ширина и высота слишком велики. Проблема в том, что animationImages будет потреблять память с поразительной скоростью, в отличие от анимированного APIImageNamed, который имеет лучшую память. Ни один из подходов на самом деле не является «лучшим» с точки зрения использования ЦП и использования памяти, поскольку существуют доступные версии significantly better.

Смежные вопросы