ActionScript 3探查器和内存分析工具
我正在使用Adobe Flash CS 4,并想知道是否有任何可用的探查器或内存分析工具? (动作3)。我知道有用于Flex的可用工具,但是用于Flash CS 4吗?谢谢。ActionScript 3探查器和内存分析工具
我敢肯定有一个程序在那里,还在寻找自己,但我found this on a forum:
大多数AS3初学者有编程的东西,然后听说了内存泄漏。首先,我将介绍如何检测和修复先前存在的代码中的泄漏,然后讨论开始编程时采取的预防性措施。
那么你怎么知道你的程序有问题?最清楚的方式是它是否崩溃,但这是非常不切实际的。幸运的是,在AS3中,我们有一个名为System的对象,其属性告诉我们关于Flash运行的条件。例如,System.totalMemory是正在运行程序的Flash Player实例使用的计算机内存量。不同的平台以不同的方式确定System.totalMemory的价值,因此我建议您在测量其值时只能运行一个Flash Player实例。
package {
import flash.utils.Timer;
import flash.system.System;
public class SpitMem {
var t:Timer = new Timer(0);
var n:int, lastN:int;
public function SpitMem():void {
t.addEventListener("timer", spit2, false, 0, true);
}
private function spit1():void {
trace(System.totalMemory);
}
private function spit2():void {
n = System.totalMemory;
if (n != lastN)
trace(n);
lastN = n;
}
}
}
如果您创建上述SpitMem类的实例,并运行你的代码,你可以在输出窗口程序的内存使用情况观察的波动。尽管如此,这是很多信息,而且在这种格式下,它无法让您清楚地了解您的程序如何使用其内存。 (注意上面介绍的spit1()和spit2()之间的不同之处,spit2()不会输出System.totalMemory,如果它没有改变的话。更有用)。
如果您在电子表格程序中制作数据图表,您会注意到它似乎总是在增加。这并不意味着你有内存泄漏。 Flash的内置内存管理允许某些类型的数据放置,直到有适当的时间摆脱它为止。这被称为垃圾收集,对于大多数Flash项目来说,它会导致你的内存积累,然后下降。这被称为锯齿图,这是完全正常的。
这是ActionScript 3的内存分析很好的工具和分析http://demonsterdebugger.com/
它有内存监视器,它是非常有用的查找内存泄漏。 – Sat 2013-07-30 12:47:00
这看起来有用,但我注意到,当我测试工具(.fla)时,内存不断上升,然后又回落,并不断重复..任何想法为什么? – 2009-12-17 01:05:26
我怀疑这是一种正常行为:记忆力上升,车库收集器清理,记忆力下降,重复。 – 2012-06-20 20:50:28