С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
#1

Оптимизация создания UIImageView - Objective-C

29.12.2011, 14:37. Просмотров 1858. Ответов 4
Метки нет (Все метки)

Программа под iPhone/iPad, есть документ на котором картинки, картинки лежат в UIImageView, допустим картинок на данный момент 15, но их количество может изменятся (копирование/удаление), почитал "Drawing and Printing Guide for iOS" там есть такое насчет оптимизации
"Reuse table cells and views during scrolling: Creating new views during scrolling should be avoided at all costs. Taking the time to create new views reduces the amount of time available for updating the screen, which leads to uneven scrolling behavior."

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

Вопрос - актуально это вообще делать? Если да то какое максимальное количество выставить для очереди, чтобы в памяти черезчур много не висело?
Для iPhone и iPad это количество будет разным и как его подобрать?
p.s: Убивать очередь думаю когда придет memory warning

Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2011, 14:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оптимизация создания UIImageView (Objective-C):

UIWebView + UIImageView - Программирование iOS
Здравствуйте. Нужно расположить webView под imageView так, чтобы при скролле webView imageView так же скроллилась. Попробовал добавить оба...

Вывод на экран UIImageView с непосредственно кодом - Программирование iOS
Всем доброго времени суток. Скажу сразу, на данную проблему потратил уже много времени - в сумме где то двое суток непрерывного гугления...

Оптимизация UIPageViewController - Программирование iOS
Добрый день, не так давно начал заниматься разработкой под iOS и столкнулся со следующей проблемой. Что имеется -...

Оптимизация создания сайтов - HTML, CSS
речь о платформе для создания сайтов express-site.ru . Сайты создаются автоматически с использованием разных шаблонов и модулей ...

Оптимизация создания 3х-мерного массива - MathCAD
Доброго времени суток! Передо мной встала задача объединения нескольких одинаковых по размерам массивов в 3х мерный массив, которую в...

Оптимизация создания хешей для товаров - Oracle
Досталась одна БД на интернет магазине. Структуру менять не хотят, так как это затронет биллинг. Механизм в общем то простой. Есть товар...

4
Splitter
202 / 144 / 5
Регистрация: 13.01.2009
Сообщений: 554
29.12.2011, 16:26 #2
до memory warning лучше вообще не доводить, это само по себе плохо, а ImageView вообще прибивать не нужно, у него есть метод для показа картинки

C
1
 [imageView setImage:[UIImage imageNamed:@"image.png"]]
в этом случае UIImage авторелизный, так что добавляйте сколько нужно
0
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
30.12.2011, 03:00  [ТС] #3
Цитата Сообщение от Splitter Посмотреть сообщение
до memory warning лучше вообще не доводить, это само по себе плохо, а ImageView вообще прибивать не нужно, у него есть метод для показа картинки

C
1
 [imageView setImage:[UIImage imageNamed:@"image.png"]]
в этом случае UIImage авторелизный, так что добавляйте сколько нужно
Вы немного не поняли, у меня на view одновременно может быть много subview с картинками внутри, идея такова что объекты представленные этими subview's могут удалятся, так вот я думаю не удалять их, а просто сохранять где-то в очереди для последующего использования, то есть схема такова:

на форме показывается две UIImageView, юзер удаляет одну из них, наши действия: извлекаем этот UIImageView, удаляем картинку и запихиваем в очередь, далее - юзер создает новую картинку, наши действия: извлекаем с очереди ставим картинку и отображаем.

Так вот вопрос о том рационально ли это? и какой предел выставить для количества элементов в очереди для iPhone/iPad?
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.01.2012, 21:04 #4
Цитата Сообщение от Splitter Посмотреть сообщение
C
1
[imageView setImage:[UIImage imageNamed:@"image.png"]]
в этом случае UIImage авторелизный, так что добавляйте сколько нужно
Но учтите, что imageNamed все же кеширует картинку, а это может ой как аукнуться, при использовании больших картинок.
0
Splitter
202 / 144 / 5
Регистрация: 13.01.2009
Сообщений: 554
07.01.2012, 21:30 #5
Цитата Сообщение от norge_goth Посмотреть сообщение
так вот я думаю не удалять их, а просто сохранять где-то в очереди для последующего использования,
ну дело Ваше конечно, но я бы не перегружал память такими очередями, это чревато, тем более что картинки - довольно ресурсоемкий объект
0
07.01.2012, 21:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2012, 21:30
Привет! Вот еще темы с ответами:

Оптимизация кода пакетного файла для создания бэкапов - CMD/BAT
Добрый день. Столкнулся с задачей: требуется оптимизировать создание бэкапов. деление на ежедневные, еженедельные и ежемесячные. Для...

-[UIImageView _isResizable]: unrecognized selector sent to instance 0x7be8e460' - Swift
Что делать?? Не понимаю ничего, есть таблица с кастомизированной ячейкой и список с именами фоток, в каждую ячейку кладется фотка. ...

VBS Изменение времени создания файла на минус Х дней от текущей даты создания - VBScript/JScript
День добрый, ветераны форума. Помогите пожалуйста следующую задачу: Есть папка в ней вложеные папки и файлы (более 20к штук),...

Время создания статьи при модификации даты создания… - Joomla
При модификации даты создания материалов, время создания устанавливается в 0 часов 0 минут. А с учетом часового пояса (Москва – UTC...


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

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

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