Instruments -- 检测 App 内存使用

Instruments -- 检测 App 内存使用

  • Activity Monitor
  • Allocations
  • Leaks
  • Zombies

Activity Monitor


监控应用程序如何使用内存,并将其与系统上其它活跃应用的内存使用情况进行比较。 可以通过这个模版查找应用大量占用内存的地方和使占用内存快速增加的点。

Allocations


可以帮助开发者查找 abandoned memory (分配了内存,不再使用之后没有释放,感觉就是内存泄漏)。

常用: inspector(右下角控制界面) -> display setting(中间的设置选项) -> mark generation(给不同的时刻打标记,对比内存使用,常用于对同一操作进行内存检测)

Leaks


可以帮助开发者查找内存泄漏点(不再引用,但是无法释放)。和 Allocations 的功能有重合,也可以检测某个对象的引用计数。但是无法标记某个时刻的内存使用情况来进行重复操作内存增长比较。

补充:
A 页面 push B 页面,再 pop B 页面(不涉及到内存泄漏),这个操作每执行一次,内存会增加,这是正常的,由一些系统缓存引起。

Zombies


可以帮助开发者查找野指针点(已经释放,但是代码里面某些地方依然再引用已经释放的对象)。 这个开发过程中一般直接设置 Xcode -> Edit Scheme -> Run -> Diagnostics -> Enable Zombie Objects 可以达到差不多的效果。

Instruments 使用常见问题

  • 红色开始按钮无法点击

    • 关闭工程,退出 Xcode,退出 Instruments。再开启。
  • 具体一些操作不知道怎么使用,可以直接文档搜索 Instruments ,找到关于内存的使用章节,里面有使用步骤。

posted @ 2017-06-01 10:57  上水的花  阅读(349)  评论(0编辑  收藏  举报