iOS性能分析-Xcode Instruments Allocations 分析APP内存使用情况

Allocations图.png

All Heap & Anonymous VM 堆内存+虚拟内存
All Heap Allocations 堆内存
All Anonymous VM 虚拟内存

# Persistent 表示在内存中的 object 的数量,正在使用的内存

# Transient 表示存在过但是目前已被销毁的 object 的数量,其占用的内存已被释放

1、Statistics统计项

category:对象、内存块类别
# Persistent 表示在内存中的 object 的数量,正在使用的内存

# Transient 表示存在过但是目前已被销毁的 object 的数量,其占用的内存已被释放

2、Call Trees统计项

symbol name:方法名称
count方法被调用的次数

3、Allocations List统计项

address:内存块的地址

4、Generations统计项

Snapshot:快照名
Timestamp:快照时间
HeapGrowth:自从上次快照以来的增长数量

Generations.png

可以对每个动作的前后进行Generations,对比内存的增加,查看使内存增加的具体的方法和代码所在位置。
在右侧Generation Analysis里点击Mark Generation,会产生一个Generation,切换到其他页面或一段时间产生了另外一个事件时再点Mark Generation来产生一个新的Generation,这样反复,生成多个Generation,查看这几个Generation会看到Growth的大小,可以点进去查看相应占用较大的线程里右侧Heaviest Stack Trace里查看对应的代码块,然后进行相应的处理。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容