【问题标题】:Create a weak reference to an object创建对对象的弱引用
【发布时间】:2008-11-03 12:38:12
【问题描述】:

是否可以在 Actionscript 3 中创建对对象的弱引用,以便对其进行垃圾回收。

我正在创建一些类以使调试更容易,因此如果仅在此处引用它们,我不希望对象在内存中徘徊(当然我不想用回调填充代码以删除对象)

【问题讨论】:

    标签: apache-flex flash actionscript-3 garbage-collection weak-references


    【解决方案1】:

    Grant Skinner 在resource management in ActionScript 3 上撰写了一系列出色的文章,在该系列的第三部分中,他介绍了可用于此目的的the WeakReference and the WeakProxyReference 辅助类。

    【讨论】:

      【解决方案2】:

      现在我创建了一个简单的类来利用 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
          }
      }
      

      【讨论】:

      • @mattlohkamp 分号有时不是必需的,但使用它们是一种很好的做法。这适用于整个 ECMAScript,它们是空语句,而逗号构成序列表达式。例如:trace(1), trace(2);。它适用于 JS 和 AS3(除了全局 JS 对象没有 trace 的 getter/setter/property)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 2018-09-29
      • 2012-03-09
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多