博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)as3中的资源管理与GC
阅读量:6914 次
发布时间:2019-06-27

本文共 914 字,大约阅读时间需要 3 分钟。

1、as3中不管是普通的object,还是displayobejct都一视同仁

2、fp9中的gc采用了两种方式进行内存清理

  a、reference count引用计数,顾名思义,根据对象被引用的次数,如果为0,gc清除之
  b、mark sweeping标记扫荡,从root开始往下扫荡,标记所有和root有关联的object,清除没有关联的,方法虽然精确,但是很耗资源,所以fp9只是偶尔来一次扫荡

3、你永远无法知道gc什么时候会调用,你能做的只是等待,等待gc在某一时刻运行起来。

4、as3中delete只能用来删除动态属性,不能删除变量,可以将变量置为null来达到删除对象的目的。

5、将对象置为null,gc是否就会来清除该对象的内存?不一定!!!如果在别处有对它或者它的属性或者它的方法的引用,gc就不会清除该对象!

6、as3中在addlistener时,可以将weakreference设置为true,这样listener这个函数对象的引用将不计入引用记数, 标记扫荡也不理它(it is not counted in reference counting, and it is not followed for mark sweeping)。Grant Skinner甚至建议永远将该值设定为true!

强弱引用

 

registerManager增加一个对CaptchaComponet的引用

7、as3的System类提供了totolmemory工具来查看当前fp所占有的内存,great!

8、as3的System类乍一看居然提供了gc方法,强制gc运行,但是仅仅适用于FP debugger version和AIR程序。如果要强制运行gc,可以hack。可以调用两个localconnection,connect两个同名方法,这会产生一 个错误,导致gc强制运行一次标记扫荡!

try {
  new LocalConnection()onnect('foo');
  new LocalConnection()onnect('foo');
} catch (e:*) {}
文章来自: 闪客居() 详文参考:

转载地址:http://idicl.baihongyu.com/

你可能感兴趣的文章
java--xml文件读取(DOM)
查看>>
Bootstrap-表单
查看>>
hiveserver2连接报错: User: root is not allowed to impersonate anonymous (state=08S01,code=0)
查看>>
android:使用Messenger进行进程间通信(一)
查看>>
HDU(1016),打素数环
查看>>
2007 Asia - Nanjing F题,字典树
查看>>
Gym 100090D Insomnia
查看>>
完全隐藏Master Page左边导航条只有管理员才可以看见
查看>>
微信支付详解
查看>>
ubuntu install GTK-GNOME development environment
查看>>
为iDempiere 1.0b安装中文语言包(基于Ubuntu Desktop 12.04 LTS)
查看>>
Graphviz样例之UML图
查看>>
XmlBeanFactory
查看>>
LVM逻辑卷
查看>>
TCP服务器和客户端最大连接数
查看>>
手机端扫描证件识别SDK
查看>>
springboot shiro配置
查看>>
ZetCode PyQt4 tutorial basic painting
查看>>
WPF RichTextBox的Document属性的序列化与反序列化
查看>>
显示照片方法之一
查看>>