论坛首页 编程语言技术论坛

Flex Module 内存释放

浏览 4078 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-04   最后修改:2009-12-09

    在Flex的程序中经常会用到Module,但是Module在使用了unloadModule方法之后还是会存在于内存之中,如何能够强制释放Module占用的内存,网上有人给出了如下解释:

1.何时真正执行垃圾回收不可预知。
2.垃圾回收总是在请求内存的时候触发,而不是在对象删除时发生。


可以通过人为抛出某种特别的异常会让Flash Player回收内存,代码如下:

Java代码 复制代码
  1. try  
  2. {   
  3. var lc1: LocalConnection = new LocalConnection();   
  4. var lc2:LocalConnection = new LocalConnection();   
  5. lc1.connect( "gcConnection" );   
  6. lc2.connect( "gcConnection" );   
  7. }   
  8. catch (e:Error)   
  9. {   
  10. }  
  11. 这种方法强制回收内存并不稳定。因此,在开发应用时不要依赖于这种方法来回收内存,只能将其视为辅助方法。

可以利用flex builder 的内存分析工具profile 来查看内存使用情况,在某些情况下可以利用Timer来抛出异常,这样Flash

Player就会强制进行内存回收,这个方法还是比较管用的,呵呵

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics