检测对象是否被回收
2015-11-05 15:43
295 查看
利用 使用弱引用的Dictionary对象的 key 来存储该对象, gc()后,然后检查 key 是否还存在。
public class ObjectManager
{
private var dic:Dictionary = new Dictionary(true);
/**检测间隔*/
public static var delay:int = 3000;
private static var _ins:ObjectManager;
public function ObjectManager()
{
App.timer.doLoop(delay,check);
}
public static function get ins():ObjectManager{
if (!_ins){
_ins = new ObjectManager;
}
return _ins;
}
private function check():void{
for (var key:* in dic){
trace( dic[key] + "对象还没有被回收");
}
}
/**监测某个对象*/
public function putObject(obj:*,key:String):void{
dic[obj] = key;
}
}
*************************************************
public class ObjectManager
{
private var dic:Dictionary = new Dictionary(true);
/**检测间隔*/
public static var delay:int = 3000;
private static var _ins:ObjectManager;
public function ObjectManager()
{
App.timer.doLoop(delay,check);
}
public static function get ins():ObjectManager{
if (!_ins){
_ins = new ObjectManager;
}
return _ins;
}
private function check():void{
for (var key:* in dic){
trace( dic[key] + "对象还没有被回收");
}
}
/**监测某个对象*/
public function putObject(obj:*,key:String):void{
dic[obj] = key;
}
}
*************************************************
相关文章推荐
- Javascript进阶篇——( JavaScript内置对象---上)笔记整理
- linux安装nginx
- 遗憾并不遗憾
- nginx 优化
- 把Elasticsearch作为时间序列数据库使用
- 判断点是否在三角形内
- 对象的赋值不使用拷贝而使用引用
- C++设计模式-Factory工厂模式
- 产品id替换为其分词结果
- 黑马程序员—Java基础—集合框架4
- 黑马程序员------集合
- hdu2032
- Baseline管理
- Linux运维 第三阶段 (十二)tcp wrapper
- 关于回避风险策略
- 自定义控件其实很简单 六
- android adapter类图
- 常用正则
- Codeforces Round #329 (Div. 2) (A, B)
- 举例讲解Python中的死锁、可重入锁和互斥锁