安卓手机的流畅度不如iPhone原因!
相信大家都会有这样的疑惑:为什么现在安卓手机的配置已经相当高了,但在日常使用中,总是觉得它的流畅度还不如比自己配置低很多的iPhone?今天我们就来深入分析一下其中的原因!
操作方法
- 01
首先,是因为安卓和iOS的渲染机制不同——这也是安卓没有iOS流畅的根本原因。iOS的UI渲染采用的是实时优先级,而安卓的UI渲染是遵循PC模式的主线程普通优先级。简单的说就是,iOS对屏幕反应的优先级很高,用户只要触摸屏幕,系统就会最优先处理屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务和核心的架构等;而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果的优先级放在后面。举个例子:比如安卓手机和iPhone同时打开相同的网页,安卓手机就会直接将整个网页全部加载同时渲染超文本——这无疑是增加了处理器的压力! 在iOS中,UI渲染过程具有绝对的优先等级:当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截所有的事件,系统会将所有资源用于渲染UI的过程,以保证用户界面的实时渲染优先级。而在安卓系统中,UI渲染过程的优先级别却没有那么高,也就是说当你触摸安卓手机屏幕时,系统后台的程序并没有完全停止,而是依然在继续运行中。这就是安卓和iOS在流畅度上差别的最主要原因了。
- 02
其次,是后台机制的不同。安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时,程序实际上并没有完全退出,而是被系统挂在了后台。这就是为什么我们关掉了聊天软件后依然能够收到消息通知的原因了。而且包括平时收到的一些垃圾广告推送,也是后台有程序运行的原因。所以这就导致了一个现象,从内存使用上来看,安卓手机刚开机时内存使用很低,但若不进行清理内存,正常使用一天,内存占用会越来越高!而内存占用越高,使用起来流畅度就会越低,所以安卓手机需要更大的RAM来提升用户体验。 而iOS其实是采用的伪后台,当用户按HOME键退出应用时,iOS其实是关闭了程序,只保留应用的图像入口,默认将应用的最后的运行数据记录在RAM中。那为什么iPhone也可以收到推送信息呢?这是因为当用户从应用中选择开启推送后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相比于同类安卓机低了很多,iOS还是会给人更加流畅的感觉。
- 03
再次,就是编程语言的不同。关于Java和OC(Objective-C)他们可谓是各有千秋,也不能说熟好熟劣,这里我们只阐述他们在安卓和iOS流畅度方面的不同。 据程序方面的大神们的说法,iOS执行程序的效率比安卓高——但这并不意味着iOS就比安卓好!安卓系统的编程语言是Java,它的特点是通用性强;但相对效率较低;而iOS的则为OC,它的特点是专一性强,效率相对较高。而且,iOS系统本身优化得较好,而且程序也是直接执行,所以效率很高;而安卓系统是通过Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕很大一个圈才执行程序,所以效率要低很多!
- 04
最后,APP厂商喜欢给iPhone做优化。由于iOS的封闭性,App Store里面的App都是在iPhone等产品上执行,硬件利用效率非常高,而且分辨率大小和硬件配置等参数也比较稳定,优化工作也容易进行;而安卓手机的硬件配置天天都在变,这使得工作量很大,开发者不可能针对所有的手机型号进行开发,所以只能在比较主流的机型上进行测试并保证运行流畅,这就导致了很多没有被优化的安卓手机很难得到流畅的使用体验!