0

У меня проблема. У меня есть UIImageView и 144 полноэкранных изображения (960x640). И у меня есть таймер, который загружает 15 изображений в секунду в UIImageView. В итоге изображения воспроизводятся как фильм. Все работает нормально, но я получаю предупреждения от iphone4. У меня просто есть массив, который содержит пути к изображениям. Изображение, которое нужно отобразить, загружается с помощью initWithContentsOfFile.UIImageView с сотнями полноэкранных изображений

По моему мнению, я сделал все возможное, используя UIImageView. Но, как я уже сказал, я получаю предупреждения о памяти и даже на iphone4, кажется немного медленным.

Я думаю, что лучший подход - использование cocos2d/openGL или Core Animation. Но я не знаю, с чего начать. Он должен быть быстрым (хорошая производительность), а печать на палубе памяти должна быть малой, насколько это возможно.

Надеюсь, что кто-то может указать мне в правильном направлении.

Thx заблаговременно

+2

Почему бы вам не закодировать изображения в видео и не воспроизвести видео? –

+0

, потому что я должен добавить дополнительную информацию о некоторых фреймах. И должно быть возможно играть вперед и назад, медленно и быстро, касаясь и таща пальцем. – lordgil

+0

@ Еван Мулавски ваше предложение может работать для меня. Где я могу найти дополнительную информацию? – djskinner

ответ

0

Будет ли это помогать?

http://appsamuck.com/day2.html

// create the view that will execute our animation 
UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame]; 

// load all the frames of our animation 
campFireView.animationImages = [NSArray arrayWithObjects:  
          [UIImage imageNamed:@"campFire01.gif"], 
          [UIImage imageNamed:@"campFire02.gif"], 
          [UIImage imageNamed:@"campFire03.gif"], 
          [UIImage imageNamed:@"campFire04.gif"], 
          [UIImage imageNamed:@"campFire05.gif"], 
          [UIImage imageNamed:@"campFire06.gif"], 
          [UIImage imageNamed:@"campFire07.gif"], 
          [UIImage imageNamed:@"campFire08.gif"], 
          [UIImage imageNamed:@"campFire09.gif"], 
          [UIImage imageNamed:@"campFire10.gif"], 
          [UIImage imageNamed:@"campFire11.gif"], 
          [UIImage imageNamed:@"campFire12.gif"], 
          [UIImage imageNamed:@"campFire13.gif"], 
          [UIImage imageNamed:@"campFire14.gif"], 
          [UIImage imageNamed:@"campFire15.gif"], 
          [UIImage imageNamed:@"campFire16.gif"], 
          [UIImage imageNamed:@"campFire17.gif"], nil]; 

// all frames will execute in 1.75 seconds 
campFireView.animationDuration = 1.75; 
// repeat the annimation forever 
campFireView.animationRepeatCount = 0; 
// start animating 
[campFireView startAnimating]; 
// add the animation view to the main window 
[self.view addSubview:campFireView]; 
+0

нет это почти так же, как я. Но у меня есть только текущий образ в памяти, а не целая куча изображений. – lordgil

+0

Но это дает вам одинаковые предупреждения о памяти? – Altealice

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