xcode6.1.1 instruments allocations

alloctions工具是用来跟踪app内存使用情况。

该instrument工具要求你加载一个进程,以便它能收集进程开始之后的数据。
该instrument工具捕获以下信息:
cotegory:类别,通常是一个core Foundation对象、object-c类、或者原始内存块(block)。在这里我们其实只要看懂 All Heap & Anonymous VM(堆分配和匿名虚拟机)这行数据基本就可以了。

persistent Bytes:当前活跃的内存;

persistent:当前活跃的内存数量;

Transient:当前已经分配内存但仍然没有被释放的对象或内存块的数量;

Total Bytes:使用过的内存;

Total:全部的内存数,不管是使用还是没有使用的都算;

Allocations:直方条通常为蓝色。当对象总数和最大值之间的比例或最大值和当前分配数的比例少于1/3时,直方条会被修改为黄色。当比例等于1/10或更少时,直方条变为红色。

注:本人只是对旧的insturments进行翻译而已,有不对的地方,请大家指出.


Time Profiler的数据

1.Separate by Thread: 每个线程应该分开考虑。只有这样你才能揪出那些大量占用CPU的"重"线程

2.Invert Call Tree: 从上倒下跟踪堆栈,这意味着你看到的表中的方法,将已从第0帧开始取样,这通常你是想要的,只有这样你才能看到CPU中话费时间最深的方法.也就是说FuncA{FunB{FunC}} 勾选此项后堆栈以C->B-A 把调用层级最深的C显示在最外面

3.Hide Missing Symbols: 如果dSYM无法找到你的app或者系统框架的话,那么表中看不到方法名只能看到十六进制的数值,如果勾线此项可以隐藏这些符号,便于简化数据

4.Hide System Libraries: 勾选此项你会显示你app的代码,这是非常有用的. 因为通常你只关心cpu花在自己代码上的时间不是系统上的

5.Show Obj-C Only: 只显示oc代码 ,如果你的程序是像OpenGl这样的程序,不要勾选侧向因为他有可能是C++的

6.Flatten Recursion: 递归函数, 每个堆栈跟踪一个条目

7.Top Functions: 一个函数花费的时间直接在该函数中的总和,以及在函数调用该函数所花费的时间的总时间。因此,如果函数A调用B,那么A的时间报告在A花费的时间加上B.花费的时间,这非常真有用,因为它可以让你每次下到调用堆栈时挑最大的时间数字,归零在你最耗时的方法。


你可能感兴趣的:(xcode6.1.1 instruments allocations)