Показать сообщение отдельно
Старый 13.10.2013, 03:10
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
Wolsh большое Спасибо!
Цитата:
Хм. Теоретически да, на практике просто не пробовал)))
Возможно я что то сделал не правильно, но использую статическую константу в качестве ключа
после вызова GC один бьект висит в памяти. Но я вижу Вы удаляете ключ, что влечёт за собой удаление обьекта связанного с ним. А я думал, что наоборот, используя обьект в качестве ключа, удалять его за счет удаления эллемента.
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.utils.Dictionary;
 
public class Main extends Sprite 
{
	private var _dictionary:Dictionary;
 
 
	public function Main() 
	{
		_dictionary = new Dictionary(true);
		stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
 
		addDictionary(Test.key, new Sprite());
	}
	private function addDictionary(key:Sprite, sprite:Sprite):void
	{
		_dictionary[key] = sprite;
	}
	private function removeDictionary(key:Sprite):void
	{
		_dictionary[key] = null;
		trace(_dictionary[key]);
	}
	private function mouseDownHandler(event:MouseEvent):void 
	{
		removeDictionary(Test.key);
	}
 
}
 
}