一、先说说Android与IOS的不同
应该会有很多机友都有类似疑问,感觉大多数安卓手机在流畅度上不如iPhone手机。先不说一些配置低的安卓机,即便是最新版安卓系统的旗舰手机,有时会感觉达不到iPhone手机的那种流畅度,因此有人以此判断安卓手机不好。其实,这都是二者系统机制不同导致的差异。
1.渲染机制不同
Android没有iOS流畅的根本的原因是,iOS的UI渲染采用实时优先级,而Android的UI渲染遵循传统电脑模式的主线程普通优先级。
通俗点说就是iOS对屏幕反应的优先级最高,用户只要触摸屏幕,系统就会最优先处理屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务、核心的架构。
而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在比较后的优先级。同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这无疑就增加了处理器的压力。因此对于Android来说,一个高效的双核处理器是很重要的。
在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截了所有的事件,系统会将所有资源用于渲染UI过程,以保证用户界面的实时渲染优先级。
而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。
2.后台机制不同
安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时,程序实际上并没有完全退出,而是被系统挂在了后台,为何我们关掉了聊天软件依然能够收到消息通知,因为它常驻系统内存。包括平时收到的一些广告推送,也是因为后台有程序运行。
所以这就导致了一个现象,从内存使用上来看,安卓刚开机时内存使用很低,若不进行清理内存操作,正常使用一天,内存占用会达到75%以上。而内存占用越高,使用起来流畅度就会越低,所以安卓机器需要更大的RAM来提升用户体验。
而iOS呢,其实是采用的伪后台,当用户HOME键退出应用时,iOS其实关闭了程序,只保留应用的图像入口,只会默认将应用的最后的运行数据记录在RAM中。
之所以iOS也能收到推送,是因为当用户从应用中选择开启推送之后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相比于同类安卓机低了很多,但是iOS还是会给人更加流畅的感觉。
3.执行程序效率的不同
安卓系统的编程语言是Java,特点是通用性强,效率低。而iOS的则为Objective-C,专一性强,效率高。
iOS系统本身优化得很好,而且程序也是直接执行,所以效率很高。而安卓系统是通过Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执行程序,所以效率低很多。
4.厂商喜欢给iPhone做优化
由于iOS的封闭性,App Store里面的App都是在iPhone等产品上执行,硬件利用效率非常高,而且分辨率大小,硬件的更新等等参数也比较稳定,优化工作也容易进行,因而iPhone上的App和硬件结合程度比安卓高很多。
安卓手机的硬件配置一样天天变,开发者也不可能针对所有的机器型号进行开发,只能在比较主流的机器上进行测试并保证运行流畅,所以很多国产中低端安卓手机很难得到流畅的使用体验。
二、在Android上移植IOS
可以肯定的是,在IOS上移植Android基本上没有什么大问题,这个在网上有很多教程大家可以搜到。这里主要谈谈在Android上移植IOS的可行性。
我们都知道苹果的IOS是苹果自有的操作系统,是苹果手机的核心竞争力所在,苹果尚未开放IOS系统,所以从商业竞争上来讲安卓手机刷成IOS系统似乎不太靠谱。
但是网上已经有人在一些Android智能手机上刷入苹果系统了,如果这个消息属实,那么这里就又涉及到另一个问题。所有的Android智能手机上都可以刷入苹果系统,还是说这和手机型号有关?
我们知道安卓系统之所以任何智能触屏手机都可以刷入,原因是因为它的内核是开源的。但是苹果系统太过封闭,要想刷入,就必须对原版苹果系统内核进行修改,这样的话就非常复杂,因为智能手机的型号种类实在繁多,iso装入每一种不同的手机,都要做一次不同的内核修改。其实这也是为什么苹果只有iphone一种类型手机的原因。说了这么多,多少有点感慨,希望中国可以做出比国外更好的东西吧……
笔者搜集了网上许多关于IOS能否被移植的争论,大致有以下四类:
第一类:苹果牛逼,苹果好,苹果硬件要求高,苹果硬件独一无二,苹果系统封闭不可能被移植,网上谣传IOS被移植都是假的不可信。
第二类:热爱自己的手机,热爱安卓,并且相信自己手机强大,希望把手机性能发挥得淋漓尽致。想移植IOS并不是崇拜苹果的表现,而是为了证明自己爱机的强大(这类人往往受到第一类人的抨击)。
第三类:小白造谣党。宣称自己已经刷入IOS。至今没摸透此类人的动机与目的,想装逼不敢留名,想出名不得不装逼。
第四类:传说中的“大神”,不参与言论,默默钻研系统的强人,不爱发帖灌水造谣和讨论,只是在某一天把自己的成果分享给大家。
说到这里,笔者对这个问题表一下态。其实对于在Android上移植IOS未尝不可,但是会非常复杂,成本极高,在短期内,笔者并不看好,长期的话保持观望的态度。