Flex 的垃圾回收机理及预防内存泄露 兰天 2008 年11 月 QQ:595534098 欢迎拍砖
EmaiL: ltian
cn@gmail
com 本文主要通过对互联网上的一些资料进行收集和整理,然后结合自己做的一些试验写出,未必全面准确,欢迎改正或者补充
内存问题一直是程序员比较关心的问题,每个程序员都希望自己开发的程序足够健壮,在运行过程中不会因内存泄露而导致程序运行变慢或者崩溃
现在,较新出现的面向对象语言(比如Java)增强了内存管理机制,能够自动回收不被使用的内存,或者说能够回收垃圾内存,这种内存管理机制通常被称为“garbage collection(垃圾回收)”,简称GC
Flex 开发中所使用的ActionScript 语言,简称AS,也是支持GC 的一种语言,经过编译后的AS 代码运行在AS 虚拟机(简称AVM)中,由AVM 自动完成垃圾内存回收的工作
Flash Player 就是一个AVM,所以有时候我们将二者混为一谈
既然AVM 能够自动完成垃圾回收的功能,那么 是不是Flex 程序员就可 以认 为所开发的Flex 应 用不存内存泄露问题呢
答 案 是否 定 的
在某 些情 况 下 ,处 理不妥 当 的代码仍 然会导致内存泄露
如何 才 能避 免 内存泄露
应 该 说,AS 程序员在清 楚 了解 Flash Palyer 垃圾回收的基 本原 理,并 且 高 度 重 视 内存泄露这个问题才 能有效 避 免 内存泄露情 况 的发生
Flash Player垃圾回收机制 Flash Player 垃圾回收工作是由垃圾回收器 (garbage collector)完成的
垃圾回收器 是运行在后台 的一个进程,它 释 放 那些不再 被应 用所使用对象所占 用的内存
不再 被应 用所使用的对象是指 那些不再 会被那些活 动着 (工作着