iOS Instruments 中 Core Animation

2017-03-13  本文已影响47人  ErHu丶

1.Color Blended Layers 像素混合

红色代表存在像素混合问题

解决方法:

设置opaque为YES (默认就为YES);

设置backgroundColor;

设置layer.masksToBounds = YES;(只设置这个参数不会导致离屏渲染,iOS8之后显示中文若不设置则会出现像素混合问题;)

2.Offscreen Rendering(离屏渲染)

黄色代表该图层需要离屏渲染,导致原因有:cornerRadius, masks, shadows,edge antialiasing 等

解决方法:

1.尽量不使用圆角,若使用则设置:

layer.shouldRasterize = YES;

layer.rasterizationScale = [UIScreen mainScreen].scale;

2.阴影绘制shadow:使用ShadowPath来替代shadowOffset等属性的设置

imageViewLayer.shadowPath = CGPathCreateWithRect(imageRect, NULL);

这些可以优化性能.

3.Color misaligned images (像素对齐)

紫色代表像素不对齐,黄色代表需要缩放.

解决方法:

坐标的设置 X,Y 最好都是整型.

http://www.jianshu.com/p/db6602413fa3 (引荐这位大神 对 Color Blended Layers 的总结) 

http://www.jianshu.com/p/2a01e5e2141f (引荐这位大神 对性能优化的总结)

http://www.jianshu.com/p/5c968a240e27 (引荐这位大神 对视图优化的浅谈)

上一篇 下一篇

猜你喜欢

热点阅读