Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
norge_goth
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
#1

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

29.12.2011, 14:37. Просмотров 1920. Ответов 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

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

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

Оптимизация создания сайтов
речь о платформе для создания сайтов express-site.ru . Сайты создаются...

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

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

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

4
Splitter
203 / 145 / 16
Регистрация: 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 / 13
Регистрация: 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
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
07.01.2012, 21:04 #4
Цитата Сообщение от Splitter Посмотреть сообщение
C
1
[imageView setImage:[UIImage imageNamed:@"image.png"]]
в этом случае UIImage авторелизный, так что добавляйте сколько нужно
Но учтите, что imageNamed все же кеширует картинку, а это может ой как аукнуться, при использовании больших картинок.
0
Splitter
203 / 145 / 16
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

Время создания статьи при модификации даты создания…
При модификации даты создания материалов, время создания устанавливается в 0...

Как сделать камеру дочерним объектом после создания другого объекта, или отображение сцены после создания самой камеры?
Есть кнопка при нажатии на неё создается куб ( с помощью Instantiate) как...


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

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

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