当前位置: 主页 > 行业资讯 > Android 做 iOS 那样如丝般柔滑的过度动画很难吗?

Android 做 iOS 那样如丝般柔滑的过度动画很难吗?

时间:2019-10-07 14:29来源:未知 作者:三帝科技 点击:

我是做安卓的,我个人认为有些困难,IOS的流畅只是一个感觉,实际的表现主要是帧率稳定和非线性动画,而且还牵扯到IOS的底层实现,包括OC天然的高效率等等因素,至于什么墓碑机制啊,统一推送啊,我觉得都不是主要原因,可能在之前是主要原因,但是随着安卓设备硬件的不断提升,这些真的不是最重要的因素了,就算安卓是真后台,来个7,8个应用后台运行,对现在的安卓机都不叫事,不存在系统吃紧的原因,我个人认为主要因素主要有3点

1. IOS的响应优先级不一样,我记得IOS会优先处理touch事件,然后就是动画之类的媒体事件,包括图形处理,而安卓对于touch或者说图形图像处理的层级相对靠后,我觉得这是一个原因(这里我说一下,首先,我也不是搞底层优化的,只是之前看过一篇文章,他的意思好像是说媒体或者图形处理会优先响应触摸事件,确实之前的说法不太妥当,touch事件肯定是要第一时间响应的,只不过是有延迟的差异,因为目前安卓版本更新很频繁,如果有一些知识我没有及时更新,还请谅解)

2. 再一个就是苹果很聪明的用了很多非线性动画,包括很多精美的动画默认就是封装好的,是控件自带的效果,比如ListView(安卓的类名)弹性滚动等等,这些动画在很大程度上会给你很流畅顺滑的感觉,而安卓大部分控件只是实现功能,如果你想在交互层面锦上添花就要自己去实现你想要的效果自定义控件,这就参差不齐了,很多安卓现在比较常用的交互逻辑,完全都是借鉴IOS的原生控件效果,有的时候真的不得不佩服苹果,很多细节考虑的很周全,因为人家原生的控件就足够精美高效,让开发者开发出来的应用在用户使用逻辑上达到高度的统一,不过在比较新的一众Material Design控件中,比如Recyclerview等等,安卓也原生加入了些灵动的动画效果,但是总感觉小巫见大巫,IOS的启动速度一向不是优势,而安卓一直在这方面很强势,参考小白的测试数据,所以我觉得流畅顺滑和速度并不是成正比的,启动不快的IOS一样给人留下很顺滑的感受。

3. 我觉得就是OC的开发语言,java是虚拟机机制,需要转换字节码,换成机器能读懂的指令,而且在之前都是边解释边运行,效率可想而知,不过在5.0后出了ART模式,本质就是想解决这个问题,可以在初次使用时全部解释完,但是我觉得效果不是很好,最近华为也出了方舟编译器,其实原理都一样的,OC我不太懂,但毕竟是C语言系的,在C的基础上加了面向对象的概念,更易用,虽然java天生就是面向对象的,但是C和java本就是完全两种语言和运行模式,OC的高效不言而喻,这肯定也是一个主要原因

剩下的就都是普罗大众都知道的一些东西,什么IOS封闭啊,APP质量高啊之类的,苹果的流畅确实是不容易,我作为一个安卓开发人员其实很喜欢苹果的设备,目前用P30,准备下一个手机换个苹果的,就说这么多吧,欢迎指正和探讨

-----------------手动分割线-----------------

感谢大家的点赞和评论,我再补充一些我认为比较大的影响因素,上面的回答说到启动速度,确实是安卓领先,但是我觉得以苹果的硬件和软件的实力,达到启动速度快的目的并不难,我甚至认为苹果是有意为之的,故意让启动中间加一些动画,还是那句话,流畅和顺滑真的不是一个快就完事了,是一系列的从无到有,从慢到快的渐变过程,我觉得安卓的动画太死性,因为一般用的属性动画,就是从A点到B点的一个位移,如果想达到IOS的弹性效果,就要加入差速器,但是我试过,流畅度还是比不了IOS,而且还有一点不可否认,就是苹果的设备少,相对应的软件就可以最大程度的去匹配硬件,这就跟为什么PS4的硬件水平往往都落后于同期的PC很多,但是玩游戏的流畅度和体验永远比PC强好多,因为PS4就这一款硬件,所有的软件开发商相对好做适配,而PC,幺蛾子太多,硬件玲琅满目,还能DIY,这就跟安卓和IOS的情况很像,IOS同年几乎只有一两款设备更新,而且硬件完全一致,核心都由苹果设计,比如CPU等等,而安卓那真是不要太多,光CPU就有很多厂商可以提供,而且手机厂商还要对系统做二次开发和适配,加入很多自己的业务内容,这在本质上就已经算是污染了操作系统,而这也是谷歌想做的,就是自己出个"架子",然后大家各取所需去改造去添加你想要的"肉",尤其是国内连谷歌服务都用不了,真的就只剩一个架子了,所以能单独做软件优化也是一个很重要的原因,这也是为什么说苹果的硬件和软件结合的最完美,因为都是单对单,永远刚好够用,达到利益和产品使用的平衡点,苹果的内存,苹果的电池,甚至苹果的充电器都落后安卓N个时代,但一样拥有比安卓更好的体验,这种以小博大的感觉,就像中国太极的四两拨千斤,没有哪个股东不喜欢这种企业,所以苹果的价格贵不是没有道理,因为只此一家,总之,苹果的系统体验真的不是一个开发人员就能左右的事情,这其实体现了完全两种不同的商业模式,两种理念,当然,目前随着高通一统天下,安卓的优化相对而言,少了很多选项,而且你也可以看到厂商都会对高通的芯片做优化,没办法,因为安卓就是SOC企业在牵着手机厂商在走,而IOS完全是苹果在牵着其他企业在走,你说能一样吗?????


(责任编辑:三帝科技)
推荐内容