我想知道如果您从Xcode在iPhone上启动应用程序与从手机本身启动应用程序,是否存在性能差异。当您从Xcode启动它时,它似乎处于调试"精简"模式,因为您正在将数据传输到控制台。
当您不从 Xcode 启动时,是否有任何性能差异?
存在性能差异。你无法对它们的大小给出一个大致的数字,因为它们取决于许多因素。差异可以从不明显到显着减慢,即使是相当简单的应用程序。
首先,您有三种不同的操作模式:
-
直接安装到设备的发布版本
这将启用编译器优化等功能。有关确切设置,请查看您的项目文件。
-
附加了调试器的调试构建运行(例如,通过从 Xcode 启动)
除了
应用程序由于使用调试配置构建而缺少编译器优化之外,调试器可能会降低额外的性能。
根据个人经验,我知道有很多断点(尤其是符号断点)或观察点,会使事情明显变慢。如果您正在执行密集日志记录,则可能会遇到类似的问题。
在某些项目中,调试代码的编译方式也与生产环境略有不同。例如,如果使用 CocoaLumberjack 等日志记录框架,您将设置更详细的日志级别,这可以再次成为更多的处理工作。
-
在没有附加调试器的情况下运行调试构建(例如,通过 Xcode 安装并单独启动)
你不会有任何编译器优化,并且仍在处理
的速度Debug
配置逻辑,但调试器不会进一步减慢应用程序
调试代码和发布代码之间可能有很多差异。
默认情况下,调试版本不使用优化,而是将调试符号添加到创建的二进制文件中。这两个可能会对应用程序的性能、大小等产生巨大影响。
您可以去查看项目设置文件以了解究竟有什么区别。
但再次回答您的问题,调试和发布之间可能会有性能变化。