加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (http://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 人物访谈 > 专访 > 正文

锤子手机的“表面功夫”

发布时间:2016-10-10 09:17:49 所属栏目:专访 来源:雷锋网
导读:为了让普通人理解相对论,爱因斯坦曾举过一个例子:当一个男人与美女对坐1小时,会觉得似乎只过了1分钟;但如果让他坐在热火炉上1分钟,却会觉得似乎过了不止1个小时。这就是相对论。 其实将这个事例引用到手机上也非常贴切,有时候iPhone在冰冷的数字上并

为了让普通人理解相对论,爱因斯坦曾举过一个例子:“当一个男人与美女对坐1小时,会觉得似乎只过了1分钟;但如果让他坐在热火炉上1分钟,却会觉得似乎过了不止1个小时。这就是相对论。”

其实将这个事例引用到手机上也非常贴切,有时候iPhone在冰冷的数字上并没有比Android手机更快,但用户就是会感觉它更加流畅。原因是合理的过渡动画会给用户造成了一种错觉,明明是相同的结果,用户体验则是云泥之别。

锤子在这一点上和iPhone的追求是一致的,所以当雷锋网记者表明来意时,锤子科技的设计师肖鹏笑道:“这些你都知道了,还采访我干嘛。”

知道的只是表象,因此有人(王自如)会认为“锤子手机的所有功夫都做在了表面”,至于这份表面功夫做到了什么程度,用锤子科技自己的话就是“流畅得完全不像一台Android手机”。

透过现象看本质,探讨产品的本质显然要比立场鲜明的争执更有价值,为此雷锋网记者采访了锤子科技的工程师和设计师,以下是对话实录(有删减):

锤子手机 锤子科技

对话工程师

雷锋网:影响手机流畅性的因素有哪些?

锤子科技:三部分:硬件的处理能力,软件和UI设计。Framework提供了绝大多数的功能,所以一个应用开发的时候,基本上是从Framework这里开始的。Android系统做得比较大,同时Google并没有在Framework的每个角落都做得特别好。

我们在Framework层做了很多优化,基本上包括以下几点:系统级别的资源预加载;针对专门的keys做一些修改,比如增加一些额外的接口,因为它原有的接口并不是很有效率;另外,针对view层级和窗口我们也会有针对性的修改。

如果应用对性能有一些极致的要求,比如说我们的Launch(桌面),我们会用OpenGL自己去处理绘图,还有一些复杂的运算放到Native层,不能放到Java层去做。应用还有一些常见的问题,就是它的view层次太复杂,会影响效率。Android的绘图线程要注意效率,出现耗时操作时要一步处理。

雷锋网:锤子手机的权限管理在使用中好像还没有达到理想的效果。难点在哪?

锤子科技:这是我们的方向,在这点上我们的确还没有做好。Android太复杂了,并且它对应用非常友好,导致权限被滥用。其实Smartisan OS对应用的限制还是比较多的。

雷锋网:不同厂商选择同样的元器件,流畅性上体现出来的差别是如何造成的?

锤子:一方面是软硬件的优化,一方面是UI视觉效果上的优化。其实对硬件的优化工作,大部分是芯片厂商在做,手机厂商只能做一些“边角”的事情。在我看来,对上层应用的优化还是最有效的,不过对应用的修改越多,就会涉及到下面的Framework,在这个地方,原生Android也许并没有优化得那么好,这个时候就需要我们去优化Framework,甚至会优化到底层的硬件接口。

雷锋网:Smartisan OS的动画效果很多,这样的话会不会反过来影响手机的性能?

锤子:做得好的话就不会,Smartisan OS是个非常正面的例子。首先对性能和内存我们有常规的监控,一旦发现增加某个Feature会造成性能下降,我们会立刻处理。另外,我们在验收的时候有一项是性能指标,这个指标没过的话,是不可能发布的。当这样操作多次之后,工程师也就慢慢形成习惯,他在做某个Feature的时候,就会考虑性能和内存。

雷锋网:Smartisan OS如何避免非规律性的卡顿?

锤子:Android是个分时多任务系统,并不是实时的。这样的话,当前台很耗内存时正好赶上后台在跑什么东西,它就会卡。除了打好基础以外,我们会通过一些极致的测试去发现它,然后发现一个解决一个。

还有一些问题其实不是手机的性能不够,而是底层显示系统的同步操作导致的。显示系统是分步的,其中有一些又是分两条线去完成,两条线会在一些点上相互等待来确保它的画面效果没有问题。当它在最终的一个点的等待上出了问题时,其实这个等待是可以优化的。这种优化会动到kernel里。所以kernel去操作这些器件的时候是有优化空间的。

比如自从Project Butter之后,Android系统每一帧16ms的绘图是严格执行的,所以当两个窗口切换的时候,切换动画如果超过16ms的话,它就只能等到下一帧,我们只要再努努力将它做到16ms以内就可以了。

雷锋网:有人说锤子手机将很多的优化工作都做在表面,如何回应这种观点?

锤子:第一,他们只看到了表面,第二,如果只需要优化表面就能达到我们的目标的话,我们也很乐于止步于此。因为大家的时间都很宝贵,那样的话我们可以做更多的事情,但了解软件的人都知道这是不可能的。

对话设计师

雷锋网:Smartisan OS设计动画的规则是什么?实现流程是怎样的?

锤子:设计的前提是遵循物理直觉,做出来的动画效果一定要符合人的感官。另外,那些过渡动画的效果必须和全局保持一致。就是说在不同页面进行相同操作,它的实现方式应该是一样的。

当设计师产生一个想法时,我们会让动画工程师将效果快速可视化,然后将不同帧率的方案交给老罗,让他做选择。当他选择了其中一种时,再交给工程师去具体实现。

雷锋网:在iPhone上打开应用,始终是从它所在的位置扩散到全屏,而锤子手机则始终是从下至上填充,相比之下,前者更符合物理直觉吧?

锤子:我现在能和你说的是,我们在做的那个翻转方案会更符合物理直觉。这个方案其实我们一直在做,T1上没有是因为我们当时还没做到足够好。而当我们采用这种方案时,一定也会保证它在速度上也比之前的方案更快。

雷锋网:那很多改动其实都是凭设计师的直觉。

锤子:这就是别人做不到的,也只有这个团队能保持这个直觉。

雷锋网:哪些细节能提高用户对手机流畅性的感知?

锤子:比如在锤子手机上打开每个(官方)APP的时候,都会预加载一张图片,这张图片和打开APP的第一帧画面是一样的,所以给人一种零延迟的感觉。整个过程非常快,用户自然会觉得非常流畅。另外,在同样的时间完成同一个操作,应该尽可能减少步骤。

雷锋网:减少步骤很难吗?

锤子:难,有时候要动到系统底层。当初我们发布ROM的时候就发现,其实很多点子大家都有想到。没做的原因是改动的成本很高,同时他们认为最终的效果对用户来说无关紧要。而在我们看来,正是这些小细节支撑了Smartisan OS的独特性。 

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读