我创建了一个简单的测试应用程序
使用以下代码
var i : int;
for (i=0; i<3000000; i++){
trace(i);
}
当我运行应用程序时,加载速度很慢,这意味着“跟踪”正在运行。
我通过右键单击检查 Flash 播放器,调试器选项未启用。
所以我想知道是否有一个选项可以放入编译器以排除跟踪。
否则,我必须手动删除程序中的所有跟踪。
编译器是否还有其他选项可以最大限度地优化 flex 应用程序?
最佳答案
Flex 中内置了一个非常棒的功能,称为日志记录 API(您可以在 http://livedocs.adobe.com/flex/3/html/logging_09.html 中阅读更多相关信息)。
基本上,您以不同的方式记录(跟踪)事物,诚然,代码比标准跟踪略多,但它为您提供了更大的灵活性。这是一个例子:
import mx.logging.Log;
Log.getLogger("com.edibleCode.logDemo").info("This is some info");
Log.getLogger("com.edibleCode.logDemo").error("This is an error");
然后您需要做的就是在主应用程序文件中创建一个跟踪目标,例如:
<mx:TraceTarget id="logTarget" fieldSeparator=" - " includeCategory="true" includeLevel="true" includeTime="true">
<mx:filters>
<mx:Array>
<mx:String>*</mx:String>
</mx:Array>
</mx:filters>
<!--
0 = ALL, 2 = DEBUG, 4 = INFO, 6 = WARN, 8 = ERROR, 1000 = FATAL
-->
<mx:level>0</mx:level>
</mx:TraceTarget>
并注册跟踪:
Log.addTarget(logTarget);
与正常跟踪相比,这提供了几个好处:
关于apache-flex - 无需调试即可编译 Flex 应用程序? flex 编译器的优化选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867788/