2012-06-17 6 views
0

Я должен реализовать галерею изображений для iPhone iOS. Картинки загружаются из Интернета на основе XML-документа, содержащего URL-адреса изображений. Мой вопрос: какой лучший подход для реализации галереи изображений? Обзор всех фотографий определенной галереи? (где все изображения представлены пользователю одновременно, как в GridView. Этот вопрос фокусируется на проблемах производительности, потому что одна галерея может иметь более 100 фотографий - каждый из них имеет размер 100 КБ или более).iOS: лучший подход к галерее изображений [Кэширование изображений]

Я уже пытался реализовать простой вид, который состоит из нескольких UIImageViews (строк и столбцов), где изображения загружаются асинхронно. Но приложение падает с низкими предупреждениями о памяти, поэтому мне приходится загружать картинки по требованию, а не сразу.

Что было бы лучшим способом реализовать такой обзор галереи? Например, с помощью UITableView с 3 картинками для каждой ячейки? Или лучше использовать paged UIScrollView, где пользователь может переключаться между страницами, на которых каждая страница представляет 12 снимков или около того?

Основная проблема заключается в кэшировании изображений. Был бы рад некоторым намекам.

ответ

0

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

+0

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

+0

Это даст вам быстрый доступ к загружаемым изображениям, что вам нужно сделать, это удалить изображение, когда оно отсутствует на экране, а затем снова загрузить его из кеша, что это дает вам такое решение, - это быстрый загрузчик изображений с момента его cached –

+0

теперь мне просто нужно выяснить, как определить, находится ли изображение на экране или нет. это было бы легко для одного изображения - но как это сделать, когда я использую сетку для одновременного отображения нескольких изображений? –

Смежные вопросы