xcode6.1.1 instruments allocations

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

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

persistent Bytes:当前活跃的内存;ide

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.花费的时间,这很是真有用,由于它可让你每次下到调用堆栈时挑最大的时间数字,归零在你最耗时的方法。

相关文章
相关标签/搜索