iOS性能优化之Leaks动态分析

Posted WinJayQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS性能优化之Leaks动态分析相关的知识,希望对你有一定的参考价值。

ios性能优化之Leaks动态分析

Instruments-Leaks有很多跟踪模块可以动态分析和跟踪内存, CPU 和文件系统(因为是动态分析 所以必须运行才能打开)。

具体使用

  1. 在XCode Open菜单下,点击Leaks 对App进行动态分析(快捷键CMD + i)
    技术分享图片
    技术分享图片
    或者直接在工程中选择调试导航
    技术分享图片
    在右侧点击Profile in instruments
    技术分享图片

检测图:
技术分享图片
技术分享图片
技术分享图片

技术分享图片

  • Separate by Thread:按线程分开做分析,这样更容易揪出那些吃资源的问题线程。特别是对于主线程,它要处理和渲染所有的接口数据,一旦受到阻塞,程序必然卡顿或停止响应。

  • Invert Call Tree:反向输出调用树。把调用层级最深的方法显示在最上面,更容易找到最耗时的操作。

  • Hide Missing Symbols:隐藏缺失符号。如果dSYM文件或其他系统架构缺失,列表中会出现很多奇怪的十六进制的数值,用此选项把这些干扰元素屏蔽掉,让列表回归清爽。

  • Hide System Libraries:隐藏系统库文件。过滤掉各种系统调用,只显示自己的代码调用。

  • Flattern Recursion:拼合递归。将同一递归函数产生的多条堆栈(因为递归函数会调用自己)合并为一条。

双击就可以定位到具体的代码了。

更多参考:

ios Instruments之Allocations
iOS Instruments之Leaks
iOS 性能优化:Instruments 工具的救命三招












以上是关于iOS性能优化之Leaks动态分析的主要内容,如果未能解决你的问题,请参考以下文章

iOS性能优化之静态分析器

李洪强iOS开发之性能优化技巧

Android性能优化之被忽视的Memory Leaks

iOS中 性能优化之浅谈load与initialize

iOS性能优化之“优化总体原则”(性能优化很重要,为什么你们都没有用?)

iOS性能优化总结