Мое приложение имеет много графики для пользовательского интерфейса.
При загрузке такого количества png-файлов всегда наблюдается задержка в 1-2 секунды (с помощью [UIImage imageWithContentsOfFile:]).
Таким образом, я пытаюсь упаковать их в одно большое изображение 2048 * 2048 в качестве текстурных альт, как я делал, когда делал рендеринг текстуры в OpenGL, чтобы избежать накладных расходов на файловый ввод-вывод.
Затем используйте CGImageCreateWithImageInRect () для создания подизображений одно за другим.
Весь процесс проходит до того, как изображения прорисованы.
От загрузки, создания подизображений до добавления UIImageView в мой основной вид.
Но после добавления этих изображений необходимо дождаться большой задержки, прежде чем начнется анимация моего пользовательского интерфейса.
Я использовал Инструмент измерения времени прибора и обнаружил, что причиной является «png_do_read_transformations».
Когда я читаю документацию, CGImageCreateWithImageInRect () созданные изображения ссылаются только на данные исходного изображения.
Вызывает ли это плохую производительность, когда я впервые нарисовал изображение, так как необходимо преобразование?
Любой подход может решить эту проблему?
p.s. задержка появляется только тогда, когда я впервые добавляю изображение. без задержки после первого появления.