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