zoukankan      html  css  js  c++  java
  • 当在发布flex或flash应用时,不要忘记删除你的Debug代码



    当我们开发flex程序时,经常使用Firefox 插件Flash Tracer来输出调试信息。它可以让我们在运行非debug版本时,使用Firefox浏览器来查看调试信息,而且非常有用。但是可能就会泄漏了很重要的信息,让不法分子所利用,还可能影响性能,所以在发布程序时移除debug信息非常有必要。在flash中直接有相关选项移除,但在flex中找不到这样的功能。所以我们可以用以下几种折衷办法。
    1.使用替换功能,按ctrl+shift+F,查找文本输入"trace",文件名模式选择mxml和as.然后替换,弹出的窗口输入"//trace",不过这样要继续开发就得重新改回来,再用替换功能替换回来。在发行版中注释信息是被删除的。
    2.使用mx.logging包,代码如下
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();">
           <mx:Script>
             <![CDATA[
                import mx.logging.Log;
                import mx.logging.ILogger;
                import mx.logging.LogEventLevel;
                import mx.logging.targets.TraceTarget;
       
                private var _log:ILogger;
                private var _traceTarget:TraceTarget;
       
                private function init():void {
                       _traceTarget = new TraceTarget();
                       _traceTarget.filters=["*"];
                       _traceTarget.level = LogEventLevel.ALL;
                       _traceTarget.includeDate = false;
                       _traceTarget.includeTime = false;
                       _traceTarget.includeCategory = true;
                       _traceTarget.includeLevel = true;
                       Log.addTarget(_traceTarget);
       
                       _log = Log.getLogger("ExampleLogger");
                       _log.info("Your tracing like a pro!");
                }
             ]]>
           </mx:Script>
    </mx:Application>
    当你不需要debug信息时只要把Log.addTarget(_traceTarget);
    语句删除就行了。

    3.可以写个类继承Trace的类
    package
    {
    import flash.trace.Trace;

    public class myTrace extends Trace
    {
    public static const debug:Boolean=false;
    public function myTrace()
    {
    super();
    }

    public static function show(... arguments):void{
    if(debug){
    trace(arguments);
    }

    }
    }
    }
    使用常量debug来设置。
    4.使用条件编译,代码如下
    CONFIG::debugging {
    trace(i);
    }
    然后在工程->属性->flex 编程器的附加编译参数加入
    -define=CONFIG::debugging,false

    -define=CONFIG::debugging,true

    总结,以上四种方法我觉得第四种比较好,可以彻底把trace语句删除,不过写起来麻烦些,可以3和4结合起来使用也不错。
  • 相关阅读:
    HDU_1016——素环问题DFS
    什么是REST?以及RESTful的实现
    WebApi系列~基于RESTful标准的Web Api
    理解RESTful架构
    国内技术管理人员批阅google的“春运交通图”项目
    项目质量量化考核建议
    设计模式在交易系统中的应用
    修改Chrome临时文件位置
    百度员工离职总结:如何做个好员工?
    Firebird数据库系统的开发团队
  • 原文地址:https://www.cnblogs.com/akweb/p/13331845.html
Copyright © 2011-2022 走看看