iOS性能优化-instruments

Xcode 自带的监控调试工具 instruments 调试和优化的代码

image.png
  • Profiler:分析代码的执行时间,找出导致程序变慢的原因
  • Allocations:监测内存使用/分配情况
  • Leaks:找到引发内存泄漏的起点

Time Profiler

分析前的配置

  1. 设置profile为debug模式
  2. 设置debug information format中对应的debug下为DWARF with dSYM File
    步骤2的作用是为了在Time Profiler分析显示的方法名通过dSYM文件来解析出真正的方法名,而不是十六进制的标识符。
image.png

配置完毕,运行程序安装到真机 打开Time Profiler 选择真机和分析的程序

image.png

Call Tree 的选项设置

  • Separate by Thread:按线程分开做分析,这样更容易揪出那些吃资源的问题线程。特别是对于主线程,它要处理和渲染所有的接口数据,一旦受到阻塞,程序必然卡顿或停止响应。
  • Invert Call Tree:反向输出调用树。把调用层级最深的方法显示在最上面,更容易找到最耗时的操作。
  • Hide Missing Symbols:隐藏缺失符号。如果 dSYM 文件或其他系统架构缺失,列表中会出现很多奇怪的十六进制的数值,用此选项把这些干扰元素屏蔽掉,让列表回归清爽。
  • Hide System Libraries:隐藏系统库文件。过滤掉各种系统调用,只显示自己的代码调用。
  • Flattern Recursion:拼合递归。将同一递归函数产生的多条堆栈(因为递归函数会调用自己)合并为一条。
  • Top Functions:找到最耗时的函数或方法。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。