Лучший способ изменить размер фотогалереи для предварительного просмотра

#objective-c #ios

#objective-c #iOS

Вопрос:

В моем приложении более 1000 фотографий и 50 галерей. Это похоже на приложение для фотографий iphone. В списке предварительного просмотра галереи у меня проблема с производительностью. В профиле я увидел, что [sourceImage drawInRect:thumbnailRect] занимает 96% времени. Каков наилучший способ исправить эту проблему?

Дублируйте изображения небольшого размера, которые я сделал. Возможно, есть другое решение?

Комментарии:

1. Фотографии меняются, или это те же 1000 фотографий для каждого пользователя?

2. Да, 1000 фотографий для каждого пользователя.

Ответ №1:

Лучший способ — создать уменьшенные изображения для каждого файла изображения и сохранить их как thumb_orginalimagefilename.png.

Комментарии:

1. У меня есть древовидные типы галерей. В каждом типе я использую разный размер (65×65, 73×73, 280×320). Решение с уменьшенными изображениями хорошее, но мне нужно дублировать изображение три раза. Я подумал, что существует более быстрое решение для изменения размера изображения, чем drawInRect.

2. Я бы использовал 65×65 для 65×65 и 73×73. Потому что никто не видит разницы. А для формата 280×320 вы можете сначала загрузить размер 65×65 и заменить его, если загружено большое изображение.

Ответ №2:

Вы можете пакетно редактировать изображения во многих настольных издательских программах.

Photoshop или Fireworks. В Picasa вы можете просто выбрать множество изображений, например, целую папку, а затем экспортировать в файл и выбрать выходной размер

Ответ №3:

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

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