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