美文网首页iOS 专题
视图调试工具的简单使用介绍

视图调试工具的简单使用介绍

作者: 一双鱼jn | 来源:发表于2018-11-06 16:44 被阅读25次

    XCode中提供了工具来定位问题点,在XCode9.3之前,在Instrements中的Core Animation,在9.3版本之后,这些工具集成到了XCode中

    在XCode的Debug -> View Debugging 选项下是视图问题调试相关的工具。

    1. Take Screenshot of xx iPhone - 截图
    2. Capture View Hierachy - 查看视图层级关系
    3. Show View Frames
    4. Show Alignment Rectangles
    5. Show View Drawing
    6. Show Responsive Scrolling Status
    7. Rendering - 渲染相关的问题查看工具
      1. Color Blended Layers - 图层混合检查

        当勾选该选项之后,发生图层混合的地方会用红色进行显示。

        什么是图层混合:当一块区域有多个视图时,这里的颜色显示是由多个Layer共同决定的,GPU会计算混合颜色的值,然后显示在屏幕上。这个计算过程是GPU执行的。

        如何解决该问题:所以对于只需要显示最上面的layer的,将最上面的layer设置为不透明,这样GPU就会忽略它下面的其他Layer。在代码中从下面三个角度去处理。

        1. 首先需要设置UIViewopaque的属性为true

        2. 当视图为UIImageView时,不仅该控件要设置为不透明的。并且该控件所显示的图片也不能包含有alpha通道。

        3. 给视图设置backgroundColor,当视图没有背景色的时候,仍然看做是透明的。

      2. Color Hits Green and Misses Red - 命中缓存的layer位图检查

        如果当前位置显示的内容是从缓存中获取的,用绿色进行标记

        视图的显示最终是将Layer绘制成位图,然后再来进行显示。这里用于检查这个位图是否是从缓存中取出来的。

      3. Color Copied Images - 检查是否对图片进行格式转换操作

        如果产生了格式转换,会用蓝色显示。

        GPU只解析32位的颜色格式,如果一张图片的颜色格式不是32位的,CPU会先将它的格式转换成32位的,然后再交给GPU去显示。

        解决方案:重新使用32位的图片,或者开启一条子线程去执行这个操作。

      4. Color Layer Formats

      5. Color Immediately

      6. Color Misaligned Images - 图片尺寸缩放检查

        如果系统对图片进行缩放处理,就会用黄色进行标记。

        当图片的尺寸和UIImageView的尺寸不一致的时候,图片就会进行缩放处理。图片的缩放处理也是需要占用时间的。

      7. Color Offscreen-Rendered Yellow - 离屏渲染检查

        发生了离屏渲染的地方会用黄色进行标记。

        离屏渲染是很耗时的操作。

        iOS9之后,设置圆角并且进行裁剪也不会产生离屏渲染了。

        下面这些设置会产生离屏渲染。

        • 阴影

        • 遮罩

      8. Color Compositing Fast-Path Blue

      9. Flash Updateed Regions

    8. Appearance

    参考资料

    https://bestswifter.com/uikitxing-neng-diao-you-shi-zhan-jiang-jie/

    相关文章

      网友评论

        本文标题:视图调试工具的简单使用介绍

        本文链接:https://www.haomeiwen.com/subject/kfiuxqtx.html