iphone лучшие практики, как загрузить несколько изображений высокого качества - PullRequest
1 голос
/ 16 марта 2011

У меня есть около 20 изображений высокого качества (~ 3840x5800 пикселей), которые мне нужно загрузить в простое приложение типа галереи.Пользователь нажимает кнопку, и в UIImageView загружается следующее изображение.

В настоящее время я использую [UIImage imageWithContentsOfFile:], для загрузки каждого изображения в симуляторе требуется около 6 секунд: (

еслиЯ использую [UIImage imageNamed:] загрузка загружается еще дольше, но кэширует изображения, что означает, что это происходит быстрее, если пользователь снова хочет увидеть те же изображения.

Я хочу знать, каков наилучший способ их загрузки? Я экспериментирую с максимально возможным уменьшением размера файла изображения, но мне действительно нужно, чтобы они были высококачественным изображением для приложения (масштабируемого и т. Д.).).

Спасибо за любой совет

[РЕДАКТИРОВАТЬ]

Привет, ребята,

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

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

Документы Apple не рекомендуется загружать отдельные изображения размером более 1024x1024. Вместо этого вы должны использовать CATiledLayer для загрузки фрагментов изображений по мере необходимости.

1 голос
/ 16 марта 2011

Вы можете взглянуть на этот пример Apple: http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010080

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

0 голосов
/ 16 марта 2011

Вы не можете видеть все эти пиксели в любой момент времени, поэтому нет необходимости загружать их все. Загрузите копии в низком разрешении («большие миниатюры») для просмотра всего изображения, затем выберите отдельные фрагменты, возможно, с 2 или более различными наборами разрешения, после того как пользователь увеличит масштаб.

CATiledLayer API может обрабатывать некоторые из них за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...