Показать сообщение отдельно
Старый 14.01.2013, 12:10
KokoZzz вне форума Посмотреть профиль Отправить личное сообщение для KokoZzz Найти все сообщения от KokoZzz
  № 18  
Ответить с цитированием
KokoZzz

Регистрация: Jan 2013
Сообщений: 18
2 all: развею тень сомнения.
интерфейс IDisposable просто предоставляет метод, который должен быть определен в целевом объекте. я ни в коем случае не вызываю принудительную чистку памяти при помощи ГЦ, я лишь вызываю у дочерних элементов метод dispose, а зачем чищу на эти элементы ссылки.
выглядит это так:

Код AS3:
		public function dispose():void{
			for (var i:int = 0; i<this.numChildren; i++){
				if (this.getChildAt(i) is IDisposable){
					(this.getChildAt(i) as IDisposable).dispose();
				}
			}
			this.removeAllElements();
		}
2 expl:
а) спасибо за совет. побегу по всему проекту и уберу все анонимные функции... они, к сожалению, есть.
б) на счет отключения каких либо кусков кода: это очень трудозатратно. я нашел в целом, из-за какого объекта текет память и таким методом, и при помощи профайлера, снизил утечку памяти раз в 5, однако я просто отодвинул дату конца света. сложность в том, что я знаю объект, но не знаю что его держит.

2 wvxvw:
а) совсем забыл про таймеры, спасибо! хотя искренне верю, что они не держат, об осторожности работы с таймера велся разговор.
б) к сожалению, утечка памяти есть и она не связана с большим требованием к ресурсу компьютера. в первом вложении выделены черными кружками места, где пользователь начинает переходить с одного дэшборда на другой.

2 Zebestov:
спасибо, попробую очистить XMLины. хотя я не уверен что поможет: "Объект XML сразу же становится доступным для сборки мусора", следовательно, XMLина ГЦ удалит ее из памяти, если она была правильно уничтожена. проверю в любом случае.
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.JPG
Просмотров: 36
Размер:	41.9 Кб
ID:	28987