iOS Color Misaligned Images优化

最近在做GPU图层显示的优化,其中关于Color Misaligned Images优化文章有很多,但在具体优化的时候还是遇到了点的问题,特此记录。

检测方式

以下两种方式均可发现存在Misaligned Images问题的地方:

模拟器调试时,打开模拟器的Debug - Color Misaligned Images菜单选项。最快捷,但仅限模拟器上查看。

Instrument性能检测时,选中Core Animation模板,在Display Settings中勾选Color Misaligned Images选项。可针对模拟器和真机,可查看真机上所有应用的像素混合情况。

......

iOS Block用法和实现原理

《Objective-C高级编程》是一本有趣又难懂的书,全书就讲了引用计数、Block、GCD三个概念,有趣是因为讲原理、实现的部分是其它iOS专业书籍里少有的。然而每个章节不读个三五遍还是比较难理解贯通的。本文针对其中的Block部分做些简单的笔记记录,讲述Block的用法和部分实现原理,详细解说从原书中寻。

Block概要

Block:带有自动变量的匿名函数。

匿名函数:没有函数名的函数,一对{}包裹的内容是匿名函数的作用域。

自动变量:栈上声明的一个变量不是静态变量和全局变量,是不可以在这个栈内声明的匿名函数中使用的,但在Block中却可以。

虽然使用Block不用声明类,但......

关于代码风格

为什么强调代码风格

不同的语言,不同的项目,都有自己的风格,就像每个人都有自己的特点一样。

代码风格是一个不容易引起注意,但又回避不了的问题。一个人独自开发的工作,对代码风格是没有明显感知的,但一群人一起开发就不一样了。当吐槽别人代码的时候,或为自己几个月前的代码汗颜的时候,很可能是因为代码风格上有了分歧,该引起所有人注意了。

一个项目代码风格的确立和维护,都是需要耗费时间和精力的,但从下面几点好处看,维护代码风格是件高收益的事:

提高阅读代码效率

减少语法、逻辑理解的歧义,方便更快了解别人的代码,减少沟通成本

杜绝了以后关于大括号是否需要换行等风格问题的低效争论,团队更加和......