Производительность UIImageView и CoreAnimation
Я работаю над очень простой игрой. Все работает. У меня есть только вопрос о производительности и памяти. Я двигаю птицу слева направо. Птица машет крыльями в 3 положениях.
Что является лучшим решением относительно скорости, производительности, памяти:
- изменение анимации uiview 3 полных изображения с птицей и крылом в разных позициях
- создать фоновый рисунок птицы и анимировать изображение одного крыла с помощью анимации CALayer
Спасибо за ответы:) Алекс
ОБНОВЛЕНИЕ: а как насчет более сложных анимаций??
1 ответ
Поскольку у вас есть только 3 изображения (как описано в вашем вопросе), вы можете пойти с более простым UIView
анимационный подход.
Но, используя CoreAnimation
даст вам лучшую производительность.
При использовании 3 различных изображений вместо изменения изображений и анимации видов можно использовать свойство анимации UIImageView
сам.
Сказать image01.png
, image02.png
а также image03.png
ваши изображения.
UIImageView *animationImgView = [[UIImageView alloc] init];
NSArray *animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"image01.png"],
[UIImage imageNamed:@"image02.png"],
[UIImage imageNamed:@"image03.png"],
nil];
[animationImgView setAnimationImages:animationImages]; // Add images to imageView for animation.
[animationImgView setAnimationRepeatCount:0]; // Repeat forever.
[animationImgView startAnimating]; // ImageView starts animating.
Тогда одушевленная позиция UIImageView