![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
Хочу написать примерно следующее:
Класс-загрузчик картинок, заменяющий собой loader с той разницей, что оно куда-то внутрь себя сохраняет ссылки на уже загруженные картинки. Если вдруг необходимо загрузить картинку еще раз (с тем же url'ом), то оно не будет делать запрос, а скопирует уже загруженную картинку. Вопросы у меня следующие: 1) Кто-нибудь кодил подобное, есть ли примеры в опенсурсе? Не хочется изобретать велосипед заново. 2) Если работать не только с картинками, но и с загруженными внешними флэшками, то как создать экземпляр загруженного мувиклипа, если не знаешь названия его класса? |
|
|||||
|
[+1 14.08.08]
[+1 20.08.08] |
На машине пользователя флеш может сохранить только 100кб с одного сайта. Потом у пользователя выйдет сообщение о том, что хранилице данных переполнено и ему будет предложено его увеличить.
Всё, что скачивается флешкой в броузере, будет кешировано броузером, и ,обычно, повторно не качается.
__________________
~ Never trouble trouble till trouble troubles you! |
|
|||||
|
ветеран форума
|
Для картинок я некоторое время назад делал следующее: грузил URLLoader-ом как байт-массив, сохранял в ассоциативном массиве с ключом-url картинки ссылку на этот байт-массив, а затем отображал картинку с помощью Loader.loadBytes. Соответственно, перед загрузкой картинки проверялось, не закеширована ли она. Кроме того, чтобы не расходовать слишком сильно память, был параметр, отвечающий за размер кеша, и при превышении суммы размеров закешированных картинок этого числа ссылки на ненужные удалялись.
Но это все в памяти, то есть кеширование на время работы флешки. Если такое подходит, могу выложить код.
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
Chas, я не про сохранение картинок, а кэширование внутри самой флэшки.
DarkLight, да, подходит, именно это я и имел в виду, был бы благодарен за код. Апгрейжу это дело еще так, чтобы оно глобально проверяло и загружало картинки по очереди: если вдруг много объектов одну и ту же картинку пытаются загрузить, то плееру плохо становится ![]() |
|
|||||
|
ветеран форума
|
Собственно, во вложении написанный год назад набор классов под все это. Код не откомментирован, но там немного, и принцип работы я расписал. По сути, остается нормально связать CacheLoader и CacheHolder и доработать под свои нужды.
cacher.rar
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
DarkLight, спасибо!
|
|
|||||
|
стервочка (я мужик)
|
DarkLight, я конечно может быть чего-то не допонял, но зачем копировать в памяти одинаковую битмапдату таким образом?
1. можно использовать одну и ту же битмапдату хоть 100 раз, зачем её грузить повторно? 2. если надо копия, то кажется есть метод clone у неё. |
|
|||||
|
ветеран форума
|
У меня кешировались не только картинки, соответственно логика была сделана универсальной.
__________________
4am is time to rock |
|
|||||
|
стервочка (я мужик)
|
DarkLight, ааа ... ну я бы на картинки, и на свф, поставил бы хаки соответствующие
а ещё у вас кэшировалось? |
|
|||||
|
ветеран форума
|
Кешировались крупные XML-ки, картинки просто, картинки зашифрованные и свфки (использовал в нескольких местах почти в одно время). По сути, можно было немного заморочиться, сделать константы для разных типов загружаемых данных и цеплять соответствующие оптимизации, но, честно говоря, тогда было не до того. Вон даже комменты не написал к коду, хотя обычно у меня все методы откомментированы.
__________________
4am is time to rock |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|