从 Xcode 性能启动应用程序



我想知道如果您从Xcode在iPhone上启动应用程序与从手机本身启动应用程序,是否存在性能差异。当您从Xcode启动它时,它似乎处于调试"精简"模式,因为您正在将数据传输到控制台。

当您不从 Xcode 启动时,是否有任何性能差异?

存在性能差异。你无法对它们的大小给出一个大致的数字,因为它们取决于许多因素。差异可以从不明显到显着减慢,即使是相当简单的应用程序。

首先,您有三种不同的操作模式:

  • 直接安装到设备的发布版本

    这将启用编译器优化等功能。有关确切设置,请查看您的项目文件。

  • 附加了调试器的调试构建运行(例如,通过从 Xcode 启动)

    除了

    应用程序由于使用调试配置构建而缺少编译器优化之外,调试器可能会降低额外的性能。

    根据个人经验,我知道有很多断点(尤其是符号断点)或观察点,会使事情明显变慢。如果您正在执行密集日志记录,则可能会遇到类似的问题。

    在某些项目中,调试代码的编译方式也与生产环境略有不同。例如,如果使用 CocoaLumberjack 等日志记录框架,您将设置更详细的日志级别,这可以再次成为更多的处理工作。

  • 在没有附加调试器的情况下运行调试构建(例如,通过 Xcode 安装并单独启动)

    你不会有任何编译器优化,并且仍在处理Debug配置逻辑,但调试器不会进一步减慢应用程序

    的速度
实际上,

调试代码和发布代码之间可能有很多差异。

默认情况下,调试

版本不使用优化,而是将调试符号添加到创建的二进制文件中。这两个可能会对应用程序的性能、大小等产生巨大影响。

您可以去查看项目设置文件以了解究竟有什么区别。

但再次回答您的问题,调试和发布之间可能会有性能变化。

最新更新