Orion
unread,May 14, 2008, 4:51:58 AM5/14/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ruFlex
По сути в IconUtility вроде как есть система кеширования:
if(!loader.content) {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
completeHandler, false, 0, true);
} else {
displayLoader(loader);
}
а по факту, при каждом запросе getClass лоадер инстанцируется заново и
dictionary перезаписывается:
///...
var loader:Loader = new Loader();
loader.load(new URLRequest(source as String), new
LoaderContext(true));
dictionary[target] = { source:loader, width:width, height:height };
можно в принципе выпасывать, а есть ли такой target в dictionary и как
то проверять не изменился ли source, а можно и не проверять, но тогда
не сможешь динамически менять изображения. ...хотя вся эта ботва не
сработает, если Трее пересоздает все itemRenderer'ы при смене узла...
или ввести дополнительный массивчег по source, куда записывать уже
отлоаденные картинки... :)
или вкручивать свой функционал в itemRenderer который будет заниматься
кешированием (хотя это скорее всего не получится)...
или копать Tree и смотреть, почему он каждый раз переприсваивает data
у itenRenderer'ов.
А вообще класс Tree это почти 3,5 килострочек аццкого кода и там есть
где разгуляться :)
PS: интересно, а какие из protected методов они в этом классе не
переопределили :)