The Miner是由加拿大的Jean-Philippe Auclair(jpauclair.net)开发的Flash性能分析器(profiler),其前身为开源的FlashPreloadProfiler。The Miner虽然现在已“沦为”商业软件,但其个人非商业用途(比如学习研究,开源项目)仍可以免费自由下载使用。
本文是应jpauclair之邀,希望通过这篇简单的安装使用教程,来推广The Miner的简体中文版。
The Miner是完全绿色的软件/类库,提供两种安装使用模式:
(一)使用方法一,使用SWC直接嵌入TheMiner到最终编译的SWF中。
1. FlashDevelop新建工程,下载 theminer_v1_3_10_nc.zip , 解压,在文件夹SWCs中复制 TheMiner_zh-cn_v1_3_10.swc ( TheMiner简体中文版 )到项目文件夹的lib文件夹内,FlashDevelop中右键选中 TheMiner_zh-cn_v1_3_10.swc ,勾上Add To Library (此时 TheMiner_zh-cn_v1_3_10.swc 的文件名会变蓝)。
2. 导入TheMiner:
- import com.sociodox.theminer.*
然后将代码
- this.addChild(new TheMiner(true));
加入到初始化函数中即可。完整代码(Main.as)
- package
- {
- import flash.display.Sprite;
- import flash.events.Event;
- import com.sociodox.theminer.*
- /**
- * ...
- * @author Bruce
- */
- public class Main extends Sprite
- {
- public function Main():void
- {
- if (stage) init();
- else addEventListener(Event.ADDED_TO_STAGE, init);
- }
- private function init(e:Event = null):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, init);
- // entry point
- this.addChild(new TheMiner(true));
- }
- }
- }
3. 现在Ctrl+Enter,测试SWF(启动Debug版的Flash Player), 会发现SWF上侧多出了一个工具栏,比如点击即时状态就可以看到当前的FPS,内存占用等情况。
<ignore_js_op>
记忆体分析器,动态记录了SWF运行时中各个类(如Object,String,MovieClip,Sprite,BitmapData等)的实例数和内存占用,一目了然。
<ignore_js_op>
当然,最有用最常用的还是效能分析器,详细列出SWF中各个函数运行耗时及百分比。针对这些信息,开发者就可以对部分消耗过大的函数进行有针对性的优化,从而提高SWF的运行效率。另外效能分析器还可以用作AS3语法优化的测试工具。
<ignore_js_op>
此外,还有其他许多实用的工具,比如滑鼠事件,显示重绘区域,显示物件状态,内部事件分析器,载入器分析器,Save Capture to File(对SWF进行屏幕截图),复制资料到系统剪切板等,可以自己亲自测试使用。
(二)使用方法二,使用Pre-Launcher方式直接加载最终编译的SWF。
方法一比较简便,但如果有大量不同的项目需要测试,每个项目都多写两行代码,并要在最后发布时注释掉,就显得有些麻烦了。对此,The Miner提供了Pre-Launcher加载的方法,简单一次”安装”后,可统一对本机上的所有SWF做性能测试。原理很简单,设置Flash Player启动时首先加载TheMiner.swf,这样每次启动Flash Player时,Flash Player都自动先加载TheMiner.swf作为载体Preloader,然后再将要打开的SWF自动加载到TheMiner.swf中,使要打开的SWF在TheMiner.swf的控制之下,便可直接做性能测试了。
具体安装设置步骤:
1. 下载 theminer_v1_3_10_nc.zip, 解压,在文件夹SWFs中复制TheMiner_zh-cn_v1_3_10.swf到 C:TheMiner.swf(复制到C盘根目录并重命名为 TheMiner.swf)
2. 到Flash Global Security Settings Flash Player全局安全设置中
(即打开该网页http://www.macromedia.com/suppor ... ings_manager04.html)
在该网页的SWF编辑多个位置-〉添加位置-〉信任此位置,中依次填入
- PreloadSWF=C:TheMiner.swf
并保存
<ignore_js_op>
安装完毕。现在只要随意单击任意一个SWF文件,TheMiner便会自动启动做效能分析了,比如:
<ignore_js_op>