flash - 发布在 Debug模式下编译的 Flash 应用程序的缺点

标签 flash actionscript-3 debugging release-mode

我不想以 Release模式而是以 Debug模式发布我的 Flash 应用程序 发布应用程序后查看 trace() 的结果。

我不在乎 Debug模式会使处理速度变慢。
除了处理速度,发布在 Debug模式下编译的闪存应用程序是否有缺点?

是否可能由于 Debug模式导致应用程序抛出异常或应用程序用户的 Flash Player 崩溃?

最佳答案

这里有一些缺点。我做了一些简单的测试,但并不能真正证明任何事情,因为它们无法判断这是由不同的播放器引起的,也无法判断额外的内存/文件大小值是线性增加还是保持在该水平。它们只是表明存在差异。

  • 增加文件大小
    • 在一行中测试了 (mxmlc 4.5.1) 空文档类:
      • -debug=false:550 字节
      • -debug=true:667 字节
    • 为每行代码添加一个额外的行号指令(甚至可能为每个声明/语句/表达式)
  • 包含您的项目结构:.as 文件的完整路径。
    • 可能存在隐私问题(可能显示本地用户名)
    • 显示内部项目名称,如果在路径中使用可能是内部版本
    • 可能表示使用过的操作系统和/或 IDE
  • 内存消耗增加
    • 观察任务管理器的非常简单的测试:for 循环创建本地对象
      • 调试:~ 6300k - 7400k
      • 发布:~ 5800k - 6900k
  • 较慢(如问题中所述)

我不确定安全是否是这里的一个问题,因为跟踪语句不会揭示任何无法从内存中提取或通过反编译重建的内容。也许跟踪的存在表明它可能是应用程序的关键部分,但通常即使是非调试字节码也仍然包含这些跟踪指令。不过,反编译器可以使用行号来创建更漂亮的代码。

关于flash - 发布在 Debug模式下编译的 Flash 应用程序的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7605215/

相关文章:

Java:在 Eclipse Debug模式下,使用 'Display' 时,增加可显示文本?

swift - 如何在 Swift 中覆盖 NSDate 对象的 debugDescription

c++ - 在 Visual Studio 2008 中使用 _DEBUG 预处理器定义 - C++

flash - 使 Starling FrameWork 与使用 native DisplayObject 的类一起使用

actionscript-3 - Flex 4透明背景问题?

用于动态加载 SWF 的 Javascript

php - 无法使用 Flash 应用程序更新 PHP 数据库

actionscript-3 - 在 flashbuilder 中将 as3 项目编译为 swc 文件

apache-flex - 如何在 ActionScript 3 中从类实例获取 Class 对象?

actionscript-3 - 如何更改Flash CS6中文本输入的字体大小