flash – ActionScript 3 Profiler和内存分析工具
我正在使用Adobe Flash CS 4,并且想知道有没有可用的探查器或内存分析工具? (动作3).我知道Flex有可用的工具,但Flash CS 4是否适用?谢谢.
解决方法
我确定那里有一个程序,仍在寻找自己,但我
found this on a forum:
大多数AS3初学者已经编程了一些东西,然后听说了内存泄漏.首先,我将介绍检测和修复预先存在的代码中的泄漏的方法,然后讨论在开始编程时要采取的预防措施. 那你怎么知道你的程序是否有问题?最明确的方法是它是否崩溃,但这是非常不切实际的.幸运的是,在AS3中,我们有一个名为System的对象,其属性告诉我们Flash运行的条件.例如,System.totalMemory是运行程序的Flash Player实例使用的计算机内存量.不同的平台以不同的方式确定System.totalMemory的值,因此我建议您在测量其值时一次只运行一个Flash播放器实例. 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,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项目,它会导致内存累积然后下降.这被称为锯齿图,这是完全正常的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |