Создать слабую ссылку на объект - PullRequest
7 голосов
/ 03 ноября 2008

Возможно ли в ActionScript 3 создать слабую ссылку на объект, чтобы его можно было собирать мусором.

Я создаю некоторые классы для облегчения отладки, поэтому я не хочу, чтобы объекты зависали в памяти, если на них есть только ссылки (и, конечно, я не хочу заполнять код обратными вызовами для удаления объекты)

Ответы [ 2 ]

5 голосов
/ 03 ноября 2008

Грант Скиннер написал превосходную серию статей по управлению ресурсами в ActionScript 3 , а в третьей части этой серии он представляет WeakReference и WeakProxyReference вспомогательные классы, которые могут быть использованы для этого.

3 голосов
/ 03 ноября 2008

Прямо сейчас я создал простой класс, чтобы воспользоваться параметром Dictionary weakKeys:

public class WeakReference
{
    private var dic

    public function WeakReference(object)
    {
        this.dic = new Dictionary(true)
        this.dic[object] = true
    }

    public function get Value()
    {
        for (var object in this.dic)
        {
            return object
        }
        return null
    }
}
...