Ускорьте первую анимацию UIImageView (принудительно кешируйте изображения) - PullRequest
0 голосов
/ 01 августа 2011

Мое приложение состоит из анимации около 25 кадров.Анимация запускается кнопкой, и все работает.Однако при первом вызове анимации происходит задержка в несколько секунд.

Я знаю, что это потому, что изображения должны кэшироваться при первом запуске в анимации, а у меня ~ 2 МБдля кэширования.

Я бы хотел, чтобы по этой причине Apple реализовала метод [ animation prepareToPlay].

А пока я запускаю анимациюв пределах viewDidLoad.Это кэширует изображения во время заставки, но затем отображает анимацию.

Есть две альтернативы, которые я хотел бы рассмотреть.

Во-первых, принудительное кэширование изображений при инициализации во времязаставка, без анимации, воспроизводимой при загрузке вида.(читай: пользовательский метод UIImageView prepareToPlay) --- Это решение было бы идеальным.

Второй альтернативой будет сохранение текущего кода, запуск анимации при запуске после просмотрабыл загружен, но отключение вызывающей кнопки, пока эта первая анимация не завершится.Поскольку UIImageView не имеет своего собственного уведомления о завершении, будет ли лучшим решением установить таймер, равный продолжительности анимации, и включить кнопку и конец указанного таймера?

Заранее спасибо, Грег

TL; DR --- Как принудительно кэшировать анимационные изображения при инициализации.

1 Ответ

1 голос
/ 25 ноября 2011

Я тоже столкнулся с проблемой как твоя. Я создал здесь свой собственный вопрос и получил хорошие ответы. Проверьте это здесь: Кэширует ли UIImageView изображения?
Удачи!

...