Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
#1

Какой подход правильный в хранении и отображении картинок в приложении?

03.07.2014, 11:15. Просмотров 1055. Ответов 2
Метки нет (Все метки)

Доброго времени суток, уважаемые форумчане.
Столкнулся вот с какой ситуацией. У меня в приложении (iPnone) хранится 120 картинок и они должны отображаться в UICollectionView. На данный момент у меня есть 2 варианта, как это сделать.

1. Хранить массив названий картинок и в
Objective-C
1
(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
отображать картинку сразу "вытягивая" ее из папки с ресурсами по имени.
Преимущество - используется 150 МБ RAM.
Недостаток - постоянное подлагивание при скролле коллекции.

2. Хранить массив уже вытянутых картинок и в том же методе отрисовывать их прям из массива.
Преимущество - после первой отрисовки все скроллится гладко, как хотелось бы.
Недостаток - 450+ МБ используемой RAM скорее всего "уронят" приложение на реальном iPhone (тестирую только на симуляторе за неимением девайса).

Можете подсказать, какой метод все-таки более приемлем или каким третьим способом можно воспользоваться чтоб обойтись без недостатков?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 11:15
Ответы с готовыми решениями:

Какой формат нужен в приложении для ввода формул и графиков
Всем добрый вечер! Мы разрабатываем мобильное приложение с лекциями, тестами и...

User-mode драйвер / фильтр для сканера штрих-кодов. Какой правильный подход при разработке?
У меня сейчас стоит задача сделать некую программу или юзермодный драйвер если...

Правильный подход к созданию анимации
Всем привет!!! Такой вопрос.У меня есть 6 картинок, я делаю анимацию через...

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

Правильный ли подход к разработке на NodeJS с Express?
Итак, как выглядит проект, начинаем с app.js и заканчиваем темплейтом ejs: ...

2
noname_club
105 / 96 / 12
Регистрация: 01.05.2013
Сообщений: 603
03.07.2014, 12:18 #2
Лучший ответ Сообщение было отмечено Victorianec как решение

Решение

Недостаток - постоянное подлагивание при скролле коллекции.
применить dispatch_async при во время чтения картинок с "диска" и dispatch_sync во время установки картинки

Objective-C
1
2
3
4
5
6
7
8
#внимание код с ошибками, но смысл сохранен
dispatch_async {
   UIImage * image = [UIImage imageWithFile: @"blabla file"];
   dispatch_sync {
      UICollectionViewCell * cell;
      cell.imageView.image = image;
   }
}
использовать 2 размера картинок:

1) большие, для просмотра на весь экран
2) маленькие для UICollectionView
1
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
03.07.2014, 12:50  [ТС] #3
Разветвление по потокам ничем не изменило ситуацию. Насчет картинок - да, метод очень хороший. Наверное, в моей ситуации - идеальный. Прийдется требовать еще их от заказчика.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 12:50

Правильный подход при взаимодйствии с Windows Forms
Смотрите, в PHP есть такой подход в написании сайтов (web-приложений) - MVC,...

Какой подход применить?
\int \frac{\cos x\operatorname{d}x}{\cos x+\sin x} Подскажите пожалуйста,...

Правильный подход обмена данных с устройствами через COM-порт. Целостность пакетов и производительность обмена
Приветствую вас, коллеги! Хочу с вами посоветоваться, ибо мне кажется, что я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru