25.13节. 使用Flex Builder 3的Memory Profiling查看内存快照

25.13.1. 问题
我想在运行时查看Flash Player内存中的所有对象。
25.13.2. 解决办法
使用Flex Builder 3的Memory模拟视图运行你的程序并观察对象的创建和销毁。
25.13.3. 讨论
Flex Profiler是Flex Builder 3中新增的、允许你查看分配和清理内存及对象的强大工具。它通过一个本地的Socket连接到你的应用程序。如果你的防毒软件禁用Socket通信的话,你需要关闭它才能正常使用。

当运行Profiler后,它每隔几毫秒就生成一次数据快照,并记录Flash Player的状态,就像抽样过程一样。通过分析这些数据,Profiler可以显示你的应用程序中的每个操作。Profiler记录了这些操作的执行时间,以及Flash Player中对象使用内存的情况。当一个应用程序在Profiler中运行时,你会看到建立连接的对话框(图25-6)。在这里你可以允许内存模拟以便查找发生问题的区域,允许性能模拟可以帮助改善应用程序的性能。

 选择一个模仿类型

图25-6.选择一个模仿类型

如果你勾选了Watch Live Memory Data复选框,模拟视图会显示Flash Player中的对象的实时图(图25-7).


Flex模拟窗口中的实时对象和内存数据


图25-7. Flex模拟窗口中的实时对象和内存数据

Profiler提供了内存快照,这些快照可以在任何时间获得,并提供关于任意对象的实例数量及占用内存情况的详细资料(图25-8)。

在一幅内存快照中查看实例数量和内存使用情况


图25-8. 在一幅内存快照中查看实例数量和内存使用情况

最后,通过比较不同时间的内存快照,你可以找出Loitering对象,就是那些在第一个内存快照后创建,在第二快照中已经存在的对象。关于类名称、内存大小、实例数量的信息都包含在Loitering Object窗口中(图25-9).

在LoiteringObject窗口中查看所有生成的对象


图25-9. 在LoiteringObject窗口中查看所有生成的对象

加支付宝好友偷能量挖...


评论(0)网络
阅读(122)喜欢(0)flash/flex/fcs/AIR