主要为阅读一些博客和书籍,对一些 UIKit 方便的性能优化的一些知识点进行了整理

尽量避免图层的混合

  • 避免使用控件的 opaque 属性将其透明,当然默认的情况下 UIVie 的 opaque 属性就是 true,同时尽量将UIView的背景颜色设置与其父控件相同且不是透明的
  • 没有特殊情况下不要设置控件的 alpha 值降低透明度
  • 使用 UIImage 尽量使用没有带 alpha 通道图片

图层的混合

首先对于像素点,屏幕上的每一个点就是一个像素,像素有R/G/B三种颜色构成,某些时候还要有 alpha 值。

举个栗子,我们将两个图层混合,上层的是蓝色(R=0/G=0/B=1),设置其透明度为50%,下层是红色(R=1/G=0/B=0),那么最终我们看到的效果将是紫色(R=0.5/G=0/B=0.5),这种颜色的混合,尤其上层的图层有透明度的时候,会小号一定的GPU资源,想避免这种情况,尽量直接将上层的图层透明度设置为100%,这样GPU就会忽略下面的所有图层,避免了过多不要的运算。

Continue reading
  • page 1 of 1
Author's picture

Bin Han

纸上得来终觉浅 绝知此事要躬行


Software Engineer


Hangzhou China