Загрузка образа с диска iPhone в tableView (как приложение Photo) - PullRequest
1 голос
/ 18 марта 2010

У меня вопрос о наилучшем подходе к производительности ...

  1. В основном у меня есть UITableView с ячейками и 4 изображениями внутри ячейки. (Похожий предварительный просмотр миниатюр Photo Application); 24 изображений ...

  2. Изображения в ячейках загружаются асинхронно с URL-адреса, а при загрузке они сохраняются в папке «Документы» на iPhone.

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

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

О чем вы думаете:

  1. Выполнение NSOperation, которое загрузит большой палец с диска (4 одновременных операции); 1 операция на изображение ...

  2. Делать NSOperation что загрузит 4,8,16? изображения в памяти в цикле;

  3. Другой лучший подход?

Спасибо

1 Ответ

1 голос
/ 18 марта 2010

Прежде чем тратить на это слишком много времени, ознакомьтесь с платформой Three20 iPhone. Он предоставляет контроллер вида, который очень точно копирует средство выбора изображений Photo:

http://three20.info/overview

Если вы решите не использовать Three20, вы должны по крайней мере убедиться, что ваше решение загружает и выгружает изображения асинхронно; таким образом, интерфейс вашей таблицы не будет изменяться независимо от того, сколько времени занимает чтение с диска. Если вы используете UIImageViews и используете +[UIImage imageWithContentsOfFile:] для получения UIImages, тогда UIKit позаботится обо всем остальном.

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

Если вы выполните одно или несколько из вышеперечисленных, я сомневаюсь, что чтение с диска станет для вас узким местом!

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