我创建了一个在UI中显示3-4个图表的UI。
我注意到以下内容
一旦这些图表加载,IE内存就会大约达到400 Mb,这是可以理解的,因为其中一些图表就像显示多达一千行的表格。
我注意到我刷新这些图表的次数越多,IE内存的增加就越多。
从代码的简单演练多次,我找不到任何泄漏或任何大小增加的数据结构。我正在使用Flex构建器2.我有几个问题:
我还有一个问题,似乎IE根本没有释放任何内存,除非它被最小化了?
答案 0 :(得分:1)
1)本文将解释垃圾收集的一切(管理语言如何处理内存管理)。基本上你无法控制它何时运行(有一个黑客强迫它但你不应该使用它)
http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html
和这个
2)只要确保不再需要的物品能够被垃圾收集,就不会有泄漏。话虽如此,我不熟悉Flex,也许框架中有一个错误??? 编辑:似乎有很多人在使用flex + ie和内存泄漏方面遇到问题。
3)System.totalMemory至少可以帮助您查看正在使用的内存量。 编辑:忘记提及如果升级到Flex Builder 3它带有内存分析器工具
4)是的,如果您不再需要将其设置为null的东西是一种很好的做法。不要忘记删除任何事件侦听器并尽可能使用弱侦听器。如果仍有对某事的引用,那么它将不会被标记为垃圾收集器。