@MartinRGB 已经回答得非常具体与详细。我站在我的角度再补充一些关于行业发展的观点供大家参考:
动画实现是一项编程非常复杂,又非常依赖GPU和性能的工程。
iOS由于只有一套系统,硬件之间差异不大,又和系统耦合度高,直接由iOS系统工程师编写了大量的动画算法,并封装成了API直接供APP开发使用。
所以你在iOS设备上体验到的动效,其实都是APP工程师一条语句调用出来的,复杂一点的,就多一条。
如果真遇到非常复杂需要特殊处理的,APP工程师才需要自己研制。
而Android的定位就完全和iOS不同了。其定位可以跑在各种不同的设备,不管什么厂商,什么设备。所以Android只提供底层核心。至于动画什么之类费心又不一定兼容各种设备的东西,就只有象征性的「例子」。
对的,只有例子。连算法都算不上。毕竟好的动画跑在差一点的机子,轻则卡顿,重则奔溃。Android所属的Google追求的是性能,不会允许这种事出现的。
「动画这种事,我是不负责的,你爱咋搞咋搞去。」
所以哪怕最基本,最简单的动画算法,都需要手机厂商,或APP工程师自己编写。但因为工程成本,大家都没时间搞,优先级也不高,毕竟是锦上添花的东西。最后就造成了Android动画不佳的体验。
但转折点来了。随着设备的硬件性能的提高,Google终于重视了动画。因为动画有助于体验,而且在设备和算法进入性能瓶颈后,好的动画绝对可以掩盖性能的不足——至少看上去。
因此Google推出了Materal Design。现在又推出了All White Design。
也有许多,有非常多用户量的,基于Android的ROM,也自行研制了动画算法,比如小米,华为和锤子。有了类似动画等用户体验要素的加持,开发者也更愿意研发此类ROM的APP,才进一步吸引用户下载,造成强者恒强的局面。
这是好事。
说着说着有点离线了。至于为什么iOS过渡动画看上去非常流畅,是因为iOS运用了一个非常巧妙的技巧。
这个技巧便是,我称之为预期设计。在早期iOS 6之前,更多用的是简单的缓出的曲线。这个曲线很自然,模仿最后缓慢停止的效果。
在iOS 7时,iPhone界面开始变为扁平后,引入了新的动画曲线。你会发现,这个曲线前期速度非常快,后面速度非常慢,就像一个人在打哈欠的效果。
而这个动画是经过非常严谨的设计的。
前期的快速可以给予用户明确的预期。在你按下的瞬间,界面马上就开始变化,可以给用户立即开始运作,性能非常高的效果。
后期的慢速更是设计的奇迹。通常的动效都会一路快下去,用户等动画结束后再进行操作。而苹果发现,其实在动画结束后,用户还是得花0.1-0.2s再屏幕中定位寻找,再决定操作。
这时故意将后期的速度减慢到似停非停的状态,用户就可以提前切入到定位寻找的阶段,等动画停止后就立马操作。
这就是为什么iOS 7比iOS 6动画其实还慢了77%,用户还会觉得操作变快了的原因。而争取出来的334ms对性能发挥的空间意味着什么,相信每一位工程师都懂的。
这也就是苹果很多时候每个部件都不是最优最强的,但经过设计后,总是最好的原因。
这是设计的力量。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有