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().connect('foo');
new LocalConnection().connect('foo');
flash.system.System.gc();//最好加入这个
} catch (e:*) {} |
分享到:
相关推荐
本资源摘要信息是基于 CNAS-GC51:2015 软件过程及能力成熟度评估机构认可指南,旨在提供软件过程及能力成熟度评估机构的认可指南。 一、范围 本文件为软件过程及能力成熟度评估机构在评估师管理和评估实施的应用...
在Android开发中,内存泄漏是一个严重的问题,它会导致应用程序性能下降,甚至引发ANR(Application Not Responding)错误。本文将深入探讨如何使用Android Studio(AS)的内存分析工具检测内存泄漏,并提供一些最佳...
接入层(AS)主要负责物理层和数据链路层的功能,包括无线资源管理、编码和解码、调制解调以及物理信道的建立和维护等。AS处理与无线接口相关的所有事务,确保设备能够有效地接入网络,进行数据传输。例如,在4G LTE...
- 使用ActionScript 3.0(AS3):与AS2相比,AS3提供了更好的性能,因为它的语法更接近于面向对象的编程语言。 - 避免全局变量:全局变量会增加内存占用,降低运行效率。使用局部变量或类成员变量来替代。 - 减少...
总结来说,"Flash强制垃圾内存回收测试"涉及到ActionScript 3中的内存管理机制,特别是如何通过源码调用`System.gc()`进行垃圾回收测试。理解并掌握这些知识,可以帮助开发者编写出更加高效、内存友好的Flash应用...
在释放多个资源文件时,可以将资源管理器实例存储在一个集合中,然后遍历这个集合进行释放: ```vbnet Dim resourceManagers As List(Of ResourceManager) = New List(Of ResourceManager) ' 添加多个...
本文将深入探讨“gc-disable-gifs”这个话题,它与PHP的内存管理和性能优化息息相关。 “gc-disable-gifs”标题可能指的是在PHP环境中,禁用垃圾回收(Garbage Collection, GC)以优化处理GIF图像的性能。在PHP中,...
同时,持续关注AS3社区的新技术和工具,可以帮助改进现有项目,进一步优化内存管理。 综上所述,ActionScript3作为一种广泛使用的编程语言,其代码规范不仅涉及基本的语法规则,还涉及到性能优化和内存管理等多个...
3. **不必要的初始化**:如果每次从对象池中获取对象时都进行初始化,那么即使对象已经使用过,也会浪费资源。 4. **未充分利用的对象池**:如果对象池大小固定且不适应需求变化,可能导致池内对象过多或不足,从而...
VB使用自动垃圾收集(Garbage Collection, GC)来管理内存,但这并不意味着开发者可以完全忽略内存管理。对于UDTs,以下几点值得注意: 1. **分配内存**:当声明一个UDT变量时,VB会为它的所有成员分配内存。如果...
3. **SNMP监控**:利用简单网络管理协议(SNMP),可以集成到第三方监控系统中,实现跨平台的统一监控。 4. **日志分析**:定期分析OAS的日志文件,包括错误日志、调试日志和审计日志,以识别潜在的性能问题和安全...
3. **别名**:使用`Imports`语句时,可以通过`As`关键字为命名空间指定别名。 ```vb Imports MyProduct = MyCompany.MyProduct ``` #### 四、引用程序集 **程序集**(Assembly)是.NET运行时的基本单元,包含了...
3. **性能与资源管理**: - 大量数据的导出可能影响程序性能,应考虑分批写入或优化数据读取。 - COM对象的正确释放对于避免内存泄漏和资源占用至关重要。 #### 四、扩展与优化建议 - **并发控制**:在多线程...
随着 Java 版本的不断更新,引入了许多新特性和 API,例如 Java 11 中引入的 ZGC(Z Garbage Collector)垃圾收集器,可以显著减少 GC 停顿时间;或者 Java 14 中的文本块(Text Blocks),使得字符串更加易读。在...
#### 一、Flex与ActionScript中的内存管理机制 Flex作为一种用于构建RIA(Rich Internet Applications)的应用框架,其背后的编程语言ActionScript(简称AS)支持垃圾回收(Garbage Collection, GC)。这使得开发者...
书中还涉及了性能优化策略,比如何时使用缓存、如何优化内存管理,以及如何避免常见的性能瓶颈。同时,它也强调了预防性编程,教导开发者如何识别并避免可能的运行时错误和逻辑错误,确保代码的稳定性和可靠性。 ##...
在.NET编程环境中,C#语言提供了丰富的库来与外部应用程序进行交互,其中之一就是与Microsoft Office应用程序,特别是Excel的集成。标题“C#中调用excel所用到的dll引用”和描述提到了“Microsoft.Office.Interop....
在云计算中,Docker 可以加速应用部署、简化版本管理和资源利用,促进微服务架构的发展。解析:Docker 的出现改变了软件部署的模式,使得开发者能够更快速地构建、发布和运行应用程序,同时减少了环境配置的复杂性。...
3. **VB与内存管理的交互**: - **ByRef和 ByVal参数**: `ByRef`传递变量引用,可能会改变原变量值;`ByVal`传递值副本,不会影响原变量。选择正确的方式可以影响内存使用和性能。 - **集合和数组**: VB中的`...