创建一个对象的弱引用

8

在Actionscript 3中是否有可能创建一个弱引用到对象,以便可以进行垃圾回收。

我正在创建一些类来使调试更容易,因此如果它们仅在此处被引用,我不想让这些对象停留在内存中(当然我也不想用回调函数填充代码以删除这些对象)。

2个回答

5
Grant Skinner在ActionScript 3的资源管理方面写了一系列优秀的文章,其中在该系列的第三部分中,他介绍了可以用于此类管理的WeakReference和WeakProxyReference辅助类。您可以通过这里这里查看相关内容。

3

目前,我已经创建了一个简单的类来利用字典 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
    }
}

@mattlohkamp 有时候分号不是必须的,但使用它们是一个好习惯。这适用于整个ECMAScript,它们是空语句,而逗号则可以创建序列表达式。例如:trace(1), trace(2);。它在JS和AS3中都可以使用(除了全局JS对象没有trace的getter/setter/属性)。 - user5066707

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接