代码之家  ›  专栏  ›  技术社区  ›  Tim Matthews

flex内存是否安全(无泄漏)

  •  2
  • Tim Matthews  · 技术社区  · 17 年前

    我想制作能够在支持flash的浏览器中运行的应用程序,并决定flex最适合我,所以我开始学习。afaikflex有一个GC,但是与我见过的其他语言中的GC相比,它的工作原理可能有点不同。我找到了 this 但显然存在(或曾经存在)无法防止的巨大内存泄漏,在IE中运行时情况更糟。

    现在信任flex是安全的。有没有修复任何泄漏?

    5 回复  |  直到 17 年前
        1
  •  3
  •   Ross Henderson    17 年前

    http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html

    需要了解/记住的是,Flex应用程序在Flash Player中运行——也许你对此很清楚,但如果你不是来自Flash开发背景,我认为这并不完全明显。至少,我不认为这是对我来说的

        2
  •  2
  •   darronschall    17 年前

    http://www.adobe.com/devnet/flashplayer/articles/garbage_collection.html

    在ActionScript中编程时,与内存相关的最大问题是确保不保留对不再需要的对象的引用。例如,添加事件侦听器时,请确保在不再需要该事件侦听器时也删除该事件侦听器(或者学习如何利用弱引用)。

    如果遇到内存不断增加的问题,可以利用探查器获取并比较内存快照,以查找泄漏的对象。您可以在此处找到有关探查器的信息:

    http://livedocs.adobe.com/flex/3/html/profiler_1.html

        3
  •  0
  •   jpencola    17 年前

    您可以查看的两个资源是: Flex Bug Tracking 您可以仔细阅读已修复/记录的内存泄漏错误。在Flex Builder IDE中,您还可以使用探查器监视内存/CPU使用情况等。我无法具体回答您的问题。我认为这里的部分责任在于您,即开发人员,以及您如何设计和管理代码。除此之外,我还注意到,使用Flex3框架(或者通常使用ASVM2)可以很好地管理GC。请记住,Flex4即将推出。

        4
  •  0
  •   johnbr    17 年前

    根据我的经验,Flex2会随着时间的推移泄漏大量内存,特别是在Firefox2中。我不确定Flex3是否会泄漏内存。

        5
  •  0
  •   dr_Avenger    17 年前

    我工作的人说ComboBox和autocomplete事件有一个bug。

    推荐文章