1.首先我写了两个测试类:
package test01
{
import flash.events.MouseEvent;
import flash.utils.Dictionary;
import flash.display.Sprite;
/**
* @author
*/
public class MultiMovieClipTest extends Sprite
{
private var _dict : Dictionary;
var _wy:WangYong;
public function MultiMovieClipTest()
{
initData();
this.stage.addEventListener(MouseEvent.CLICK, click);
}
private function click(event : MouseEvent) : void
{
trace("===>",_wy);
}
private function initData() : void
{
_dict = new Dictionary(false);
for (var i : i
nt = 0; i < 10; i++) {
if(i == 0){
_wy = new WangYong();
_dict[_wy] = new WangYong();
}else{
_dict[new WangYong()] = new WangYong();
}
}
}
}
}
package test01
{
/**
* @author
*/
public class WangYong
{
}
}
接着通过概要分析来开始观察WangYong这个实例的数量变化;
2.第一种观察(如代码中的:new Dictionary(false));
此时观察的结果如下:
第二种观察(_dict = new Dictionary(true););
此时观察的结果如下:
然后不停的点击强制垃圾回收的按钮,一会后结果又如下:
3.总结:
我就直接把API文档拷过来了:
指示 Dictionary 对象在对象键上使用“弱”引用。 如果对某个对象的唯一引用位于指定的 Dictionary 对象中,则键符合垃圾回收的条件,并且在回收对象时会被从表中删除。所以在使用时还是要当心的。。
ps:1.如果在使用_dict = new Dictionary(true),同时没有定义成员变量var _wy:WangYong;,那么输出的结果实例数就会是0个了。
2.如果Dictionary的key是基本类型数据,那么也不会自动回收。
分享到:
相关推荐
Dictionary对象使用方法 1.Dictionary对象的成员概要 2. 对Dictionary中增加和删除条目 3. 修改键或条目的值
还不错的一个对象池,用Dictionary来写的,如果你是在学习中,可以下来观摩一下!
C#中Json 解析类库,C# 解析json 时,通常使用的是强类型对象反序列化,但是有时候不知道具体的对象时,使用该类库,使用dictionary 解析弱类型数据
WEB开发 之 ASP Dictionary 对象.docx
探讨hashtable与dictionary两者的性能及结构区别,并用代码来实现测试。是深入学习数据结构的好的例子。一切源于基础,希望对你有所帮助。
如果在session级保存一个dictionary对象会降低系统的性能,而在application级保存一个dictionary对象会导致web服务器崩溃,关于这个就不在多说了。 现在我们要考虑的是dictionary对象在单页的时候,有哪些设计时的...
ASP Dictionary 对象 Dictionary 对象用于在名称/值对中存储信息。 尝试一下 – 实例 本例演示如何创建一个 Dictionary 对象,然后使用 Exists 方法来检查指定的键是否存在。 本例演示如何使用 Items 方法来返回...
ActiveX 部件不能创建对象 Scripting.Dictionary解决办法
Excel-VBA宏编程实例源代码-通过Dictionary对象删除文档.zip
Excel-VBA宏编程实例源代码-在Dictionary对象中新建文档.zip
iOS对象转字典 object2Dictionary 从项目中提取出来的,对象转为字典,对象转为json;
M13OrderedDictionary, 带有有序对象和键的NSDictionary M13OrderedDictionaryM13OrderedDictionary是NSArray和NSDictionary之间的交叉。 它包含一个有序的对象和键列表。 所有这些都可以通过索引或者键访问。 这里...
可以让Xcode的控制支持array 和dictionary对象的中文打印,Xcode默认打印的是Unicode的码. 此分类的原理就是Unicode的转码. 使用简单,只需要导入分类即可,不需要导入任何头文件. github : ...
Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll
ios对象dictionary互转库,代码里面有详细的描述,使用也非常简单
Dictionary
将数组转换为Dictionary 将Dictionary 转换为数组 将List转换为Dictionary 将Dictionary转换为List 首先这里定义了一个“Student”的类,它有三个自动实现属性。 class Student { public int Id { get; set; ...
apk文件 UserDictionaryProvider(电视直播视频)apk文件 UserDictionaryProvider(电视直播视频)apk文件 UserDictionaryProvider(电视直播视频)apk文件 UserDictionaryProvider(电视直播视频)apk文件 User...