Производительность UIImageView и CoreAnimation

Я работаю над очень простой игрой. Все работает. У меня есть только вопрос о производительности и памяти. Я двигаю птицу слева направо. Птица машет крыльями в 3 положениях.

Что является лучшим решением относительно скорости, производительности, памяти:

  1. изменение анимации uiview 3 полных изображения с птицей и крылом в разных позициях
  2. создать фоновый рисунок птицы и анимировать изображение одного крыла с помощью анимации 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

Другие вопросы по тегам