为什么安卓机没有iPhone流畅?# Apple - 家有苹果
g*n
1 楼
相信很多网友都有类似疑问,感觉安卓手机在流畅度上不如iPhone手机。先不说一些配
置低的安卓机,即便是最新版安卓系统的旗舰手机,也会感觉达不到iPhone手机的那种
流畅度,因此有人以此判断安卓手机不好。其实,这都是二者系统机制不同导致的差异。
渲染机制不同
Android没有iOS流畅的根本的原因是,iOS的UI渲染采用实时优先级,而Android的UI渲
染遵循传统电脑模式的主线程普通优先级。
通俗点说就是iOS对屏幕反应的优先级最高,用户只要触摸屏幕,系统就会最优先处理
屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务、核心的架构。
而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在比较后的优先级
。同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这
无疑就增加了处理器的压力。因此对于Android来说,一个高效的双核处理器是很重要
的。
在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有
的进程都将停止,UI线程拦截了所有的事件,系统会将所有资源用于渲染UI过程,以保
证用户界面的实时渲染优先级。
而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手
机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短
信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。
后台机制不同
安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时
,程序实际上并没有完全退出,而是被系统挂在了后台,为何我们关掉了聊天软件依然
能够收到消息通知,因为它常驻系统内存。包括平时收到的一些垃圾广告推送,也是因
为后台有程序运行。
所以这就导致了一个现象,从内存使用上来看,安卓刚开机时内存使用很低,若不进行
清理内存操作,正常使用一天,内存占用会达到75%以上。而内存占用越高,使用起来
流畅度就会越低,所以安卓机器需要更大的RAM来提升用户体验。
而iOS呢,其实是采用的伪后台,当用户HOME键退出应用时,iOS其实关闭了程序,只保
留应用的图像入口,只会默认将应用的最后的运行数据记录在RAM中。
之所以iOS也能收到推送,是因为当用户从应用中选择开启推送之后,系统会增加一些
进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在
这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相
比于同类安卓机低了很多,但是iOS还是会给人更加流畅的感觉。
iPhone执行程序的效率比安卓机高
另外,安卓系统的编程语言是Java,特点是通用性强,效率低。而iOS的则为Objective
-C,专一性强,效率高。
iOS系统本身优化得很好,而且程序也是直接执行,所以效率很高。而安卓系统是通过
Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执
行程序,所以效率低很多。
厂商喜欢给iPhone做优化
由于iOS的封闭性,App Store里面的App都是在iPhone等产品上执行,硬件利用效率非
常高,而且分辨率大小,硬件的更新等等参数也比较稳定,优化工作也容易进行,因而
iPhone上的App和硬件结合程度比安卓高很多。
安卓手机的硬件配置一样天天变,开发者也不可能针对所有的机器型号进行开发,只能
在比较主流的机器上进行测试并保证运行流畅,所以很多国产中低端安卓手机很难得到
流畅的使用体验。
置低的安卓机,即便是最新版安卓系统的旗舰手机,也会感觉达不到iPhone手机的那种
流畅度,因此有人以此判断安卓手机不好。其实,这都是二者系统机制不同导致的差异。
渲染机制不同
Android没有iOS流畅的根本的原因是,iOS的UI渲染采用实时优先级,而Android的UI渲
染遵循传统电脑模式的主线程普通优先级。
通俗点说就是iOS对屏幕反应的优先级最高,用户只要触摸屏幕,系统就会最优先处理
屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务、核心的架构。
而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在比较后的优先级
。同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这
无疑就增加了处理器的压力。因此对于Android来说,一个高效的双核处理器是很重要
的。
在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有
的进程都将停止,UI线程拦截了所有的事件,系统会将所有资源用于渲染UI过程,以保
证用户界面的实时渲染优先级。
而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手
机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短
信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。
后台机制不同
安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时
,程序实际上并没有完全退出,而是被系统挂在了后台,为何我们关掉了聊天软件依然
能够收到消息通知,因为它常驻系统内存。包括平时收到的一些垃圾广告推送,也是因
为后台有程序运行。
所以这就导致了一个现象,从内存使用上来看,安卓刚开机时内存使用很低,若不进行
清理内存操作,正常使用一天,内存占用会达到75%以上。而内存占用越高,使用起来
流畅度就会越低,所以安卓机器需要更大的RAM来提升用户体验。
而iOS呢,其实是采用的伪后台,当用户HOME键退出应用时,iOS其实关闭了程序,只保
留应用的图像入口,只会默认将应用的最后的运行数据记录在RAM中。
之所以iOS也能收到推送,是因为当用户从应用中选择开启推送之后,系统会增加一些
进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在
这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相
比于同类安卓机低了很多,但是iOS还是会给人更加流畅的感觉。
iPhone执行程序的效率比安卓机高
另外,安卓系统的编程语言是Java,特点是通用性强,效率低。而iOS的则为Objective
-C,专一性强,效率高。
iOS系统本身优化得很好,而且程序也是直接执行,所以效率很高。而安卓系统是通过
Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执
行程序,所以效率低很多。
厂商喜欢给iPhone做优化
由于iOS的封闭性,App Store里面的App都是在iPhone等产品上执行,硬件利用效率非
常高,而且分辨率大小,硬件的更新等等参数也比较稳定,优化工作也容易进行,因而
iPhone上的App和硬件结合程度比安卓高很多。
安卓手机的硬件配置一样天天变,开发者也不可能针对所有的机器型号进行开发,只能
在比较主流的机器上进行测试并保证运行流畅,所以很多国产中低端安卓手机很难得到
流畅的使用体验。