У меня есть анимация, которая состоит из 250 кадров.Каждый кадр имеет разрешение 1080x1920 и в формате PNG.Мне нужно взять все эти кадры, анимировать их с помощью CAKeyframeAnimation
и визуализировать их на видео, используя AVFoundation
инструменты.
Проблема возникает, когда я пытаюсь создать массив values
для CAKeyframeAnimation
.Инициализация 250 изображений FullHD вызывает довольно большой всплеск памяти, который система обнаруживает и решает убить приложение.Я пытался поиграть с autoreleasepool
, но, похоже, это совсем не помогло (неудивительно, потому что CAKeyframeAnimation
нужно удерживать эти изображения).
Проблема идет еще дальше: у меня на самом деле 10 таких анимаций!И мне нужно быстро переключаться между ними, потому что приложение позволяет динамически просматривать эти анимации (что делается с помощью AVSynchronizedLayer
), прежде чем экспортировать все в видеофайл.
Поэтому мой вопрос: как я могу загрузитьбольшой массив UIImage
экземпляров без системной блокировки приложения из-за скачка памяти?Есть ли асинхронный способ их загрузки?