as3中的资源管理与GC
来源:互联网 发布:骨科 网络用语 编辑:程序博客网 时间:2024/06/05 20:12
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!
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:*) {}
- as3中的资源管理与GC
- AS3 weak reference & GC
- flash as3 内存管理和资源管理
- as3 中的数学函数atan与atan2
- as3 中的数学函数atan与atan2
- c/c++与as3中的逗号表达式
- Eclipse中的图片资源管理
- Flex中的资源管理
- 游戏中的资源管理
- 敏捷项目中的资源管理
- Java中的自动化资源管理
- C++中的资源管理
- 浅谈C++中的资源管理
- C++中的资源管理
- 浅谈C++中的资源管理
- Yarn资源管理中的哲学
- C++中的资源管理<转载>
- 软件开发中的资源管理
- svn恢复误删除目录
- Flex查看源代码的实现 Flex view source
- 求职简历——开始找工作了
- vertical-align释疑
- getopt()简介
- as3中的资源管理与GC
- 创建DLL
- Windows核心编程:内存映射文件
- const 到底是什么 一. 开篇问题
- JWindow捕捉焦点事件的方法 WindowFocusListener
- struts2 FCKeditor 上传图片时候的那些纠缠不清的问题
- Flex Array和Flex ArrayCollection的用法和区别
- 绝对不能通过指针修改常量!!!!!!
- objcopy使用说明