![]() |
|
||||||||||
|
|||||
|
Доброго время суток.
Если ли возможность программного сброса кэша изображений. Собираюсь хранить картинки в байтарреях так как не приходит на ум более разумной реализации при изменении картинки с неизменяемом имени. Можно конечно добавить в конец Math.random но так изображения будут обновляться постоянно мне же нужно изменять картинку только тогда когда она была обновлена. package src { import flash.display.Loader; import flash.display.LoaderInfo; import flash.events.Event; import flash.utils.ByteArray; import flash.display.Bitmap; import flash.display.BitmapData; import flash.net.URLRequest; import flash.display.Sprite; public class loadPictures extends Sprite { public var bitmap:Bitmap; public function loadPictures($url):void { bitmap = new Bitmap(); var req:URLRequest = new URLRequest($url); var _picLoader:Loader = new Loader(); _picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loader2ByteArray); _picLoader.load(req); } private function loader2ByteArray(evt:Event):void { var lInfo:LoaderInfo = LoaderInfo(evt.target); var ba:ByteArray = lInfo.bytes; reloadByteArray(ba); } private function reloadByteArray(ba:ByteArray):void { var reloader:Loader = new Loader(); reloader.loadBytes(ba); reloader.contentLoaderInfo.addEventListener(Event.COMPLETE, reloaderComplete); } private function reloaderComplete(evt:Event):void { var imageInfo:LoaderInfo = LoaderInfo(evt.target); var bmd:BitmapData = new BitmapData(imageInfo.width,imageInfo.height); bmd.draw(imageInfo.loader); bitmap = new Bitmap(bmd); bitmap.smoothing = true; addChild(bitmap); dispatchEvent(new Event("LOAD_COMPLETE")); } } }
__________________
return this... |
|
|||||
|
А. Размер картинок не изменяется.
Б. Картинки могут подгружаться по несколько раз за 1 минуту а вот изменяться как с инициализации пользовательского действия так и без его участия. Сейчас конечно во избежания не соответствия везде подкрепляю Math.random() но очень не нравиться такой подход. Самым оптимальным было б получения МЕТА-информации по картинке (дате последнего изменения). p.s. Если ли вообще не/документированые методы по сбросу или запрету флешу хранить кэш изображений?
__________________
return this... |
|
|||||
|
Размер, всмысле вес. Если вы измените картинку на 1 байт, то уже её вес другой. Значит надо обновить. А дату последнего изменения можно отследить через промежуточный скрипт, если идёт взаимодействие клиент-сервер. Ибо со всякими хитрыми заголовками может работать AIR.
__________________
Кодинг, багинг, алгоритминг. me @ |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Цитата:
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 55
|
предположу, что флэшплеер под Win использует IE для хттп транспорта, будучи запущеным в виде стэнд-элон
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 55
|
ну это я к тому, что кэш браузерный используется не только когда флэш стартует в браузере
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|