iOS开发

instrument工具

2019-05-07  本文已影响14人  一达

instrument使用

参考:

Core Animaiton工具
内存泄漏检测
instrument使用

路径:
Xcode-product - profile

( intrument )

一、Core Animaiton工具

监测GPU图片渲染
(Xcode9.3之后,真机跑起来后,Debug - >View Debugging - > Rendering)

1、Color Blended Layers,这个选项选项基于渲染程度对屏幕中的混合区域进行绿到红的高亮显示,越红表示性能越差,会对帧率等指标造成较大的影响。红色通常是由于多个半透明图层叠加引起。

2、Color Hits Green and Misses Red,当 UIView.layer.shouldRasterize = YES 时,耗时的图片绘制会被缓存,并当做一个简单的扁平图片来呈现。这时候,如果页面的其他区块(比如 UITableViewCell 的复用)使用缓存直接命中,就显示绿色,反之,如果不命中,这时就显示红色。红色越多,性能越差。因为栅格化生成缓存的过程是有开销的,如果缓存能被大量命中和有效使用,则总体上会降低开销,反之则意味着要频繁生成新的缓存,这会让性能问题雪上加霜。

3、Color Copied Images,对于 GPU 不支持的色彩格式的图片只能由 CPU 来处理,把这样的图片标为蓝色。蓝色越多,性能越差。因为,我们不希望在滚动视图的时候,由 CPU 来处理图片,这样可能会对主线程造成阻塞。

4、Color Immediately,通常 Core Animation Instruments 以每毫秒 10 次的频率更新图层调试颜色。对某些效果来说,这显然太慢了。这个选项就可以用来设置每帧都更新(可能会影响到渲染性能,而且会导致帧率测量不准,所以不要一直都设置它)。

5、Color Misaligned Images,这个选项检查了图片是否被缩放,以及像素是否对齐。被放缩的图片会被标记为黄色,像素不对齐则会标注为紫色。黄色、紫色越多,性能越差。

6、Color Offscreen-Rendered Yellow,这个选项会把那些离屏渲染的图层显示为黄色。黄色越多,性能越差。这些显示为黄色的图层很可能需要用 shadowPath 或者 shouldRasterize 来优化。

7、Color OpenGL Fast Path Blue,这个选项会把任何直接使用 OpenGL 绘制的图层显示为蓝色。蓝色越多,性能越好。如果仅仅使用 UIKit 或者 Core Animation 的 API,那么不会有任何效果。如果使用 GLKView 或者 CAEAGLLayer,那如果不显示蓝色块的话就意味着你正在强制 CPU 渲染额外的纹理,而不是绘制到屏幕。
Flash Updated Regions,这个选项会把重绘的内容显示为黄色。不该出现的黄色越多,性能越差。通常我们希望只是更新的部分被标记完黄色。

8、检查FPS帧

二、Leaks

内存泄漏

选中泄漏曲线,并设置call tree模式


内存泄漏 内存泄漏

双击页面跳跳转到泄漏代码处


内存泄漏

关于自动内存捕捉分析时间间隔


内存泄漏
内存泄漏
内存泄漏

三、zombie

开启僵尸对象检测


僵尸对象
僵尸对象

四、alloction内存分配

内存分配
内存分配
上一篇下一篇

猜你喜欢

热点阅读