background image

么时候

UI 有最高级了,明明是系统中断才是最高),竟然说出了 android 触摸 UI 时后台进

程保持运行这样的荒谬的事情,我都怀疑他是不是在

google 呆过。 即便他说的 UI 优先级有

理,也不可能出现改变优先级就会使得程序进入恶性循环这种情况。了解

android 系统架构

应该知道负责图形处理(关于优先级部分)的是位于

android 系统的倒数第二层,也就是内

核的上一级,而且

android 的设计是层与层之前低耦合的,每层对于下一层的依赖仅通过接

口来调用,而层内的变化根本不会影响到层外行为。
说简单一点,就如同你去银行柜台办事,你办外汇就去外汇窗口,债券就去债券窗口,而
银行内部怎么处理你的请求是他们的事,你只需要提交你的数据并接收结果即可,银行内
部员工变动也不会影响你的事务办理。如果真如这个实习生所说,是

UI 框架处理优先级的

问题,

google 大可以轻轻松松直接提高优先级,绝不会影响到现有任何程序,因为目前没

有任何程序能绕过

android 的程序框架直接调用到 UI 下层的方法,因此下层的改进也不会

对上层造成兼容性的不适。而且也不增加什么生产成本。
但为什么还是感觉

android 比 ios 卡?我觉得这是人云亦云后的“被变卡”感觉(很多人在概

念空白时先入为主的被教唆到

android 比 ios 卡,不如 ios,而且听多了这样的话后自然自己

的感觉就不准了),以至于出现了

N 种关于 android 为什么不如 ios 的“科学、内幕”解释。我

觉得除了辩证还要用发展的眼光来分析这个问题。
在早期,

android 的优化的确不如 ios,这源自于产品的设计理念和年代(android 本身是 07

年才被收购的一个公司,之前这个系统根本没有得到实际的验证,而

ios 始终是在 apple 下

mac 时代起就被打造的)。而硬件也远没有 iphone 强,加上开放免费,什么鱼龙混杂的

制造商都加入进来,元器件供应商也是水很深,造成产品水平参差不齐。很多人对

android

ios 的差距的认识也是从那时才建立的,而看 iphone,一年才出一款机器,无论软件还是

硬件,从选择供应商到制作,有足够的周期,都是精挑细琢。也就是说,

android 阵营从低

端到高端都有,且低端又多又乱所谓的高端少而不精,而

iphone 就一个高端,这就如田忌

赛马,老拿人家优秀的比垃圾的,自然而然口碑也就落成了

android 不如 ios 的一个大范围

印象。其实这个时代跟

ios 产品比较,也的确是 android 的东西不如 iphone 做得好。

但是近年来

android 的机器硬件基本上已经超过了 iphone 但为什么还是觉得比 ios 卡?除了

上述的心理因素遗留之外,我个人觉得其实这无关

android 本身,并不是 os 优化这么简单

的事。而是硬件问题,其实没有人特别在意这个问题,但是我想说这就如同显示器的响应时
间,响应时间快,在播放时就会流畅没有拖影。
电容屏也有响应时间,而且对工作环境电压要求很高,普通的电容板本身响应就比较慢,
大 概 才

50~100ms , 而 且 在 电 压 不 稳 定 时 反 应 更 慢 , 而 iphone4 的 电 容 板 响 应 时 间 在

10~20ms,差距近 80ms 说是不到十分之一秒,但是在实际体验时这就能影响到人们的直觉。
另一个因素在于触屏的玻璃材质,硬度越高越顺滑,这是根据阻尼系数和摩擦系数可以测
出的。同是镜面的情况下,硬度越高的材质在摸上去的时候更顺滑。

iphone 用的是大猩猩,

硬度达到

7,裸身时本身触感就顺滑,没有拖沓感,再加上大多数买 iphone 的人贴膜都会

比较下本钱(我贴膜花了

129),贴膜也会影响到触感。在普观 android 手机,用上大猩猩

的寥寥无几,再肯贴好膜的更是少。在手感上也比

iphone 要差了。

就我个人长久使用亲身体会是,

android 的 UI 其实缺少过度动画,比如在界面切换时的细

节(仔细看,

ios 的界面切换时除了窗口会移动,标题栏和上面的控件都会以不同的速率在

移动,感觉很动感精致,如同流水般),这样在操作时造成了突兀感。实际上从触摸角度来
讲,我觉得兔子没有明显的差异。而且明显的感觉是,如果

iphone 有后台程序,或者运行

过较多程序之后,哪怕是普通的界面切换也会有卡顿感觉,很明显的。
最后一点重要的补充就是

iOS 是伪多线程开发,Android 更注重编程模型,iOS 更注重用户

体验。

Android 将应用内(进程内)渲染(controls)和进程间渲染(surface flinger)放在了