Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.12.2008, 22:18
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 1  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Cool Внутреннее кэширование картинок/мувиклипов

Хочу написать примерно следующее:

Класс-загрузчик картинок, заменяющий собой loader с той разницей, что оно куда-то внутрь себя сохраняет ссылки на уже загруженные картинки. Если вдруг необходимо загрузить картинку еще раз (с тем же url'ом), то оно не будет делать запрос, а скопирует уже загруженную картинку.

Вопросы у меня следующие:
1) Кто-нибудь кодил подобное, есть ли примеры в опенсурсе? Не хочется изобретать велосипед заново.
2) Если работать не только с картинками, но и с загруженными внешними флэшками, то как создать экземпляр загруженного мувиклипа, если не знаешь названия его класса?

Старый 14.12.2008, 22:41
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 2  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
На машине пользователя флеш может сохранить только 100кб с одного сайта. Потом у пользователя выйдет сообщение о том, что хранилице данных переполнено и ему будет предложено его увеличить.
Всё, что скачивается флешкой в броузере, будет кешировано броузером, и ,обычно, повторно не качается.
__________________
~
Never trouble trouble till trouble troubles you!

Старый 14.12.2008, 22:52
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 3  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Для картинок я некоторое время назад делал следующее: грузил URLLoader-ом как байт-массив, сохранял в ассоциативном массиве с ключом-url картинки ссылку на этот байт-массив, а затем отображал картинку с помощью Loader.loadBytes. Соответственно, перед загрузкой картинки проверялось, не закеширована ли она. Кроме того, чтобы не расходовать слишком сильно память, был параметр, отвечающий за размер кеша, и при превышении суммы размеров закешированных картинок этого числа ссылки на ненужные удалялись.
Но это все в памяти, то есть кеширование на время работы флешки. Если такое подходит, могу выложить код.
__________________
4am is time to rock

Старый 14.12.2008, 23:00
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 4  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Chas, я не про сохранение картинок, а кэширование внутри самой флэшки.

DarkLight, да, подходит, именно это я и имел в виду, был бы благодарен за код. Апгрейжу это дело еще так, чтобы оно глобально проверяло и загружало картинки по очереди: если вдруг много объектов одну и ту же картинку пытаются загрузить, то плееру плохо становится

Старый 14.12.2008, 23:08
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 5  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Собственно, во вложении написанный год назад набор классов под все это. Код не откомментирован, но там немного, и принцип работы я расписал. По сути, остается нормально связать CacheLoader и CacheHolder и доработать под свои нужды.
cacher.rar
__________________
4am is time to rock

Старый 14.12.2008, 23:15
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 6  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
DarkLight, спасибо!

Старый 15.12.2008, 00:49
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
DarkLight, я конечно может быть чего-то не допонял, но зачем копировать в памяти одинаковую битмапдату таким образом?
1. можно использовать одну и ту же битмапдату хоть 100 раз, зачем её грузить повторно?
2. если надо копия, то кажется есть метод clone у неё.

Старый 15.12.2008, 00:52
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 8  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
У меня кешировались не только картинки, соответственно логика была сделана универсальной.
__________________
4am is time to rock

Старый 15.12.2008, 00:57
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 9  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
DarkLight, ааа ... ну я бы на картинки, и на свф, поставил бы хаки соответствующие а ещё у вас кэшировалось?

Старый 15.12.2008, 01:21
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 10  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Кешировались крупные XML-ки, картинки просто, картинки зашифрованные и свфки (использовал в нескольких местах почти в одно время). По сути, можно было немного заморочиться, сделать константы для разных типов загружаемых данных и цеплять соответствующие оптимизации, но, честно говоря, тогда было не до того. Вон даже комменты не написал к коду, хотя обычно у меня все методы откомментированы.
__________________
4am is time to rock

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.