从Xcode性能启动应用程序

时间:2015-06-16 20:27:28

标签: ios xcode

我想知道如果你在iPhone上从Xcode启动应用程序而不是从手机本身启动应用程序是否存在性能差异。当您从Xcode启动它时,它似乎处于调试“精简”模式,因为您正在向控制台获取数据。

如果不从Xcode启动,是否存在任何性能差异?

2 个答案:

答案 0 :(得分:0)

实际上,调试和发布代码之间可能存在很多差异。

默认情况下,调试版本不使用优化,而是将调试符号添加到创建的二进制文件中。这两个可以对应用程序性能,大小和一些产生巨大影响。

您可以查看项目设置文件,了解究竟有什么不同。

但是再次提出问题,调试和发布之间可能会有性能变化。

答案 1 :(得分:0)

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

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

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

      

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

  • 附带调试器的调试版本运行(例如,通过从Xcode启动)

      

    由于使用调试配置构建,在应用程序之上缺少编译器优化,调试器可能是额外的性能消耗。

         

    从个人经验来看,我知道有很多断点(特别是符号断点)或观察点,会使事情明显变慢。如果您正在进行密集记录,则可能会遇到类似的问题。

         

    在某些项目中,编译调试代码的工作方式与生产方式略有不同。例如,如果使用诸如CocoaLumberjack之类的日志记录框架,则可以设置更详细的日志级别,这可以再次进行更多的处理工作。

  • 未附加调试器的调试版本运行(例如,通过Xcode安装并单独启动)

      

    您将无法进行任何编译器优化,仍然可以使用Debug配置逻辑,但调试器不会使您的应用程序进一步减速