zoukankan      html  css  js  c++  java
  • AS3.0 对象键和内存管理

    如果将 myObject 用作 Dictionary 对象中的键,则会创建对原始对象的另一个引用。例如,下面的代码创建两个对象引用
    (myObject 变量和 myMap 对象中的键):
    import flash.utils.Dictionary;
    var myObject:Object = new Object();
    var myMap:Dictionary = new Dictionary();
    myMap[myObject] = "foo";
    若要使 myObject 引用的对象能够进行垃圾回收,您必须删除对它的所有引用。在此情况下,必须更改 myObject 的值并从
    myMap 中删除 myObject 键,如以下代码所示:
    myObject = null;
    delete myMap[myObject];
    或者,可以使用 Dictionary 构造函数的 useWeakReference 参数,以使所有字典键均成为“ 弱引用”。垃圾回收系统忽略弱引
    用,也就是说只具有弱引用的对象可以进行垃圾回收。例如,在下面的代码中,您不需要从 myMap 中删除 myObject 键就可以
    使该对象能够进行垃圾回收:
    import flash.utils.Dictionary;
    var myObject:Object = new Object();
    var myMap:Dictionary = new Dictionary(true);
    myMap[myObject] = "foo";
    myObject = null; // Make object eligible for garbage collection.

  • 相关阅读:
    HTML/CSS
    Python字符编码
    软件测试遇到的问题积累
    数学
    经济学路谱
    工具
    DataStage
    Shell编程—定时任务
    WebLogic部署
    imageView-scaleType 图片压缩属性
  • 原文地址:https://www.cnblogs.com/sdlwlxf/p/2821137.html
Copyright © 2011-2022 走看看