首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionScript 3分析器和内存分析工具

ActionScript 3分析器和内存分析工具
EN

Stack Overflow用户
提问于 2009-12-09 17:37:48
回答 3查看 6.4K关注 0票数 4

我正在使用Adobe Flash CS4,我想知道有没有适用于它的分析器或内存分析工具?(actionscript 3)。我知道Flex有可用的工具,但是有没有Flash CS4的替代工具呢?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-10 00:20:30

我肯定有一个程序,还在寻找我自己,但我

大多数AS3初学者都编写了一些程序,然后听说了内存泄漏。因此,首先我将介绍检测和修复预先存在的代码中的泄漏的方法,然后讨论开始编程时要采取的预防措施。

那么你怎么知道你的程序是否有问题呢?最清晰的判断方法是它是否崩溃,但这是非常不切实际的。幸运的是,在AS3中,我们有一个名为System的对象,它的属性告诉我们运行Flash的条件。例如,System.totalMemory是运行您的程序的Flash Player实例所使用的计算机内存量。不同的平台以不同的方式确定System.totalMemory的值,所以我建议您在测量它的值时一次只运行一个Flash player实例。

代码语言:javascript
复制
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()之间的区别。如果System.totalMemory没有改变,spit2()就不会输出它。稍后,我将展示类似的逻辑如何将我们的数据变成更有用的东西。)

如果你在一个电子表格程序中制作数据图表,你会注意到它似乎总是在增加。这并不意味着你有一个内存泄漏。闪存的内置内存管理允许某些类型的数据处于闲置状态,直到有合适的时间将其清除。这就是所谓的垃圾回收,对于大多数Flash项目来说,它会导致内存积累,然后下降。这被称为锯齿图,这是完全正常的。

票数 3
EN

Stack Overflow用户

发布于 2011-06-16 21:46:06

这是一个分析ActionScript3内存和分析http://demonsterdebugger.com/的好工具

票数 2
EN

Stack Overflow用户

发布于 2009-12-16 02:22:19

随着Flash player10.1预览版的发布,Adobe推出了一个为您进行内存监控的组件:Memory Monitoring Component

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1872687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档