可能没注意的小功能(三):图像性能优化模拟器Debug

关于图像的优化有很多细节,这里说一个点,当你需要优化页面图像性能的时候,用模拟器或真机运行的时候,点击Debug,会有几个选项,其中有两个值得注意:

  • Color Blended Layers (混合)
  • Color Missaligend Images(拉伸)

如果是直接使用:tempImageView.image = UIImage(named: " "),一般会出现一下两种情况:

  • 此时勾选Color Blended Layers会显示红色
  • 勾选Color Missaligend Images会显示黄色

截屏2020-06-11下午2.42.26.png
截屏2020-06-11下午2.43.19.png

截屏2020-06-11下午2.44.24.png

这两种情况表明此时会更多的消耗GPU性能

这时可以使用图片上下文加载的方法,减少GPU的计算

 func avatarImage(image:UIImage, size:CGSize) -> UIImage? {
        let rect = CGRect(origin: CGPoint(), size: size)
        UIGraphicsBeginImageContextWithOptions(rect.size, true, 0)
        image.draw(in: rect)
        let result = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return result
        
        
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        let rect = CGRect(x: 100, y: 100, width: 100, height: 100)

        let tempImageView = UIImageView(frame: rect)
        view.addSubview(tempImageView)
        let image = UIImage(named: "timg")!
        tempImageView.image = avatarImage(image: image, size: rect.size)

    }

之后在勾选就不会出现红色或者黄色了。

类似的还有设置圆角,更详细的原理这里就先不说了,只是记录一下直接使用的方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容