查看: 4975|回复: 16
收起左侧

[讨论] Android与iPhone(IOS)的对比

 关闭 [复制链接]
丟了過厺
发表于 2014-1-3 21:47:04 | 显示全部楼层 |阅读模式
本帖最后由 丟了過厺 于 2014-1-4 08:03 编辑

Android与iPhone(IOS)的对比
前言:本文会有点长,但如果你能看完绝对受益匪浅,另外你不能看完可以看本文中带下划线加粗部分。

Android是基于Java语言的,iOS是基于Obejctive-C的。很专业是吗?不要紧,你不需要懂它们有什么区别、孰优孰劣。看懂下面的就行!前者,即Java的代码实际上需要两次“转换”才能最终以用户可看的程序跑起来,一次发生在开发者发布安装包前,使用开发者自己机器的CPU,另一次在用户启动APP前,使用手机的CPU。而后者,即Objective-C的代码只需要一次这种“转换”---在开发者发布安装包前,所以只占用开发者机器的CPU时间。如果我们假设同样代码量的程序需要同样多的CPU时间进行从代码到最终能跑的“转换”。那么把这种工作全部放在了开发者的机器上进行的iOS显然就更具优势,因为用户在打开APP之前不需要再浪费时间进行“转换”,这部分时间由开发者“忍受”了。而安卓程序启动相对较慢就是因为第二次“转化”需要在打开程序时进行引起的。这两种机制是历史的产物,总体上不能说谁好谁坏,只有适用范围的问题。考虑到手机属于体验要求比较高的设备,显然iOS这种机制更合适。但是在企业环境下,两次“转换”式的解决方案有很多其他的优势,这里就没必要展开说了,因为与话题无关。所以这两种机制带来的后果就是,iOS总是比Android快,而且是天生的!

在iOS系统中,用户界面渲染的过程被赋予了很高的优先级,当触摸屏开始操作,系统将停止所有进程,将所有资源集中对节目进行渲染,通俗点说就是当你手指戳屏幕的时候系统会把所有硬件资源都集中到当前运行的程序中,故iOS系统是不需要“一键清除”后台应用的iOS系统中长按home键出现的也只是清除历史运行的程序,而不是清除后台运行的程序。另外苹果花费一年时间开发了Apple Push Notification Service,即使在iPhone上的应用软件没有在当前运行,苹果运营的服务器仍可与个别iPhone保持IP连接。应用软件开发人员可以通过苹果的服务器将消息发送到用户的iPhone上。利用这一功能,就无需在后台运行应用软件,因此能够延长电池寿命,减轻微处理器的负荷。而在Android系统中,就没有这种待遇了。虽然Android手机配置普遍很高,但进程不会为界面渲染让路,由于资源被分配到不同任务中,造成了Android操作的不流畅。在iPhone上,一个程序被切换掉以后便“暂停”了而不是继续在运行,Apple称之为“fast app switching”,仅仅是你换一个软件用,并能快速换回来。相比之下,从Android开山起便是纯纯地基于多任务而设计的,你可以完完全全地挂着聊天软件,从各种软件里下载着东西,Loading着,同时在干其他事情,就仿佛你在电脑里一样。你在那里读着小说,同时挂着4个聊天软件,各种第三方的软件正在下载,而无数个资讯类软件正在默默更新,音乐里还放着歌,而对于你,却感觉不到任何一丝异样,这样才叫真正的、“大”的用户体验。而对于iPhone,第三方程序要做个后台下载都举步维艰。

Android采用的是Java技术,所有应用在一个叫Dalvik的Java虚拟机中运 行,Dalvik是Android的核心,是google专门为移动设备优化的Java虚拟机,Android应用就是典型的Java应用。可以说 Java应用的优点(成熟、存在大量可重用代码)就是Android的优点,Java应用的缺点(占内存大、运行速度略低)就是Android的缺点。

iOS目前仍然不支持JAVA 、flash player,因为二者都是占资源、耗电量的大户,但这Android都是支持的。如果要说谁更适合做移动平台的系统,那当然是iOS了,因为它所做的一切都是为了移动平台而生,而Android虽然不适合移动平台,因为移动平台需要省电的特性,但Android在其它科学中更加需要,因为它的开源,因为的能多任务处理。

Android采用使用最广泛java技术,开发人员众多,容易上手,但也需要较强大的硬件支 撑。而Apple iOS的体系架构相对较为传统,但运行效率高,对硬件的要求低,成本优势大,在现有的硬件条件下,应用运行具有最好的顺畅感,也更加省电。Apple iOS自成体系,系统架构朴实无华,但干净清晰,应该算是目前最有效率的移动设备操作系统。

另外最新的Android4.4系统有了本质的改变,简单地说,就是Android程序运行的根本机制改变了,程序会启动地更快,而且会更省资源。表现在用户体验上,就是Android更流畅了,同时续航能力显著增加。而且这种变化不是小打小闹,而是非常可观的!根据(http://www.Androidpolice.com/2013/11/06/meet-art-part-1-the-new-super-fast-Android-runtime-google-has-been-working-on-in-secret-for-over-2-years-debuts-in-kitkat/)的说法,这个改变可以让部分Android程序的启动加速50%,理论上待机时间也会显著增加。

关于Windows Phone 8 本人了解甚少,欢迎大家补充。
smile9558
发表于 2014-1-4 08:51:24 | 显示全部楼层
小白受教了!有营养
easybeing
头像被屏蔽
发表于 2014-1-4 09:11:03 | 显示全部楼层
前排支持。
我认为ios的优势在迅速缩小
安卓的进步速度很快。在迅速弥补自己的缺陷
ios却。呵呵。
如果我是苹果ceo,我会象征性收一点费把ios开放给所有想要它的手机厂商。
dfliaoyue
发表于 2014-1-4 20:09:47 | 显示全部楼层
本帖最后由 dfliaoyue 于 2014-1-4 20:42 编辑

额,看来你对安卓发展了解不深。在这楼编辑了

如果牵涉到任何关于Google服务被阉割、服务不通的问题,不要在这纠结了。这里说的安卓是配备了完整Google服务的安卓,而且主要指ICS及之后版本。这样和闭源的IOS比才公平一点吧。Google虽然冲动一把退出大陆,但商业公司不会和钱过不去,棱镜事件也把那层道德面纱接下来,后来会怎样还是拭目以待吧。

先说推送问题。Gcm推送,4.x连google账号都不用(以前需要google账户),同样可以实现无应用单独后台的推送。这点,从方式来说,安卓并没输。

后台驻留问题。好的安卓应用是可以完全退出的。看看gmail, google calender, 按返回键就退出进程退出服务了,只有在收到同步推送时才会启动。国内腾讯的东西,虽然做的不像是安卓应用,也都是能完全退出吧。qq、微信不支持Gcm是个缺陷,但你要退出是没问题的。正常点的游戏都不会有后台服务,也不会后台自启。至于很多人纠结的残余ram占用,在安卓4.x里,非活动进程会以缓存形式驻留,不占用ram。IOS在这点上,可以说是用强制手段迫使所有应用无后台(部分类型可以保留后台,要审核)。也许Google应该考虑增加不允许某应用后台运行的设置。

4.4的Android runtime,处在试验阶段,兼容性很不咋地。这里就说Dalvik的二次解释并没有那么糟。在手机内存里有一个dalvik cache文件夹,放的就是编译出的东西。换言之,Dalvik并不是每次运行都会进行一次解释。核心部分的解释在安装应用时已经完成,很少使用的再即时编译。这样能节省大量空间(想想IOS上应用的体积。用过ART的应该知道会多吃很多的内存空间)。ART优点倒不在于应用运行速度,而在于多应用切换速度。省电性能好点吧。

安卓真比IOS慢?确实,但没慢那么多。符合Android Design的安卓应用运行速度和相同的符合IOS规范的IOS应用运行速度并没什么差别。至于什么是Android Design,看看Google Play,看看知乎(当然有些地方不咋地)。不要以为qq,微信,贴吧这类IOS风的东西是安卓应用应该有的样子。安卓为Holo控件做了优化的,符合其设计标准的应用运行速率会快很多,也流畅许多。有兴趣的可以打开开发者设置里显示gpu过度渲染,白、蓝最好,红最差,一比便知。

IOS的优势在哪里?Apple负责的应用审核,很棒的相机,极棒的性能优化(为什么IPhone较低的硬件能达到高性能?IOS只为Apple自己的东西优化。其实Google亲儿子、干儿子的性能优化也是相当棒的)。


Android的优势?真正的多任务,Google服务的强势方便,自定义丰富一些(比如输入法)。

至于运行速度、响应速度,差别没那么大。Google正在逐步增加Android里闭源部分来增加对安卓生态的控制,这意味着什么,想想便知。

安卓比IOS有一点是强的毫无疑问:IOS升级,能把流畅升级到卡; Android从GB到ICS到JB到KK,可是对硬件要求越来越低,速度越来越快



评分

参与人数 1人气 +1 收起 理由
钢铁侠 + 1 感谢解答: )

查看全部评分

ynpejcxzz
发表于 2014-1-4 22:22:26 | 显示全部楼层
个人觉得安卓的资源比IOS丰富多了,就这点安卓比它强
qquccs
头像被屏蔽
发表于 2014-1-4 22:48:47 | 显示全部楼层
安卓代表了自由,ios代表了专制。
dfliaoyue
发表于 2014-1-5 01:22:54 | 显示全部楼层
ynpejcxzz 发表于 2014-1-4 22:22
个人觉得安卓的资源比IOS丰富多了,就这点安卓比它强

安卓应用质量跟IOS比还是有差距。当然现在迎头赶上,不过很多好应用都是IOS先占还是说明点问题。
wjw
发表于 2014-1-5 14:38:24 | 显示全部楼层
Windowsphone的机制和iOS差不多 同样没有完全的后台
相对于安卓的优势是比较流畅和省电...
小v可
发表于 2014-1-5 14:57:48 | 显示全部楼层
塞班有话要说~~表示开上5-6个程序一点不卡~~ 还是完全的后台
alexkaer
发表于 2014-1-5 17:41:38 | 显示全部楼层
用户注重的体验 还是ios有优势
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-24 03:56 , Processed in 0.144622 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表