你知道吗:Android为何比iOS和WP慢?

转载 2012年03月30日 01:09:20

你知道吗:Android为何比iOS和WP慢?

 

  【IT168评论】拥有开放互联网精神的谷歌,在短短的4年时间,将Android打造成市场份额第一的手机操作系统;拥有用户体验至上精神的乔布斯,将iOS产品打造成全世界高端电子产品的风向标,一家独占移动市场75%的利润;拥有多年产品经验,依靠用户体验发家的微软同样不甘示弱,独创了Windows phone全新的Metro界面,给用户带来了不一样的体验。随着Tango平台高调的宣布进入中国市场,赢得了众多重量级终端厂商的支持,逐步组建了自己的生态系统。可以说现在已经是三强鼎力的局面。

你知道吗:Android为何比iOS和WP慢?
▲三大操作系统平台

  对于这三个平台的对比,我们已经了解了很多,无论是开发者还是用户,都有各自选择的理由。不过对于Android系统来讲,一直都有用户通过自己的实际体验,认为Android手机的用户界面的操控反应要比iOS和Windows Phone慢,甚至是有些迟钝的感觉,笔者同样深有体会。这到底是为什么呢?

  对于这个一直让人感到好奇的问题,业界的人士都有自己的看法:

  新浪产品设计师吴伟认为:苹果iOS平台对用户操作赋予极高的优先级,只要有用户操作就立刻暂停其他进程,将资源全部用于响应用户操作;而Android不是这种机制,用户操作时还有很多进程同时工作,这样势必影响了用户的操控体验。

  至于为什么设计这样的构架,这位工程师解释是:Android的研发时间比iOS早,那时候大部分移动设备还是靠硬键盘进行输入。但是Android的发布时间比iOS晚,而且iphone的发布将触屏变成了主流操作,带来了全新的操控体验,后来Android系统为了和iOS竞争,加入了对触屏的支持。但是此时操作系统构架已经不可能大幅修改了。 因此从系统机制上没有办法和iOS竞争。

  一位开发者表示:iOS用户界面的渲染在一个专门的线程中,而且优先级很高。Android的渲染遵循的是传统PC模式,在一个主线程中,而且是正常的优先级。

  糗事百科的王坚认为:这永远都不是一个绝对速度的问题,不管硬件提供了多少计算资源总会被软件吃光,这是一个把响应的优先级调到多高的问题。苹果很早就意识到了这一点,并且不是在iOS里面才开始实现的。而Windows桌面版、Android、Windows Phone直到今天还在应付响应,这应该也是它们“没有品味”的表现。

  知乎网一位身兼产品、交互设计、UI设计师和程序员的一个网友Omega认为:从开发上,这三个系统采用的开发语言不一样,就iOS和Android两者而言, iOS采用的是Objective-C,是基于C语言,而Android是基于java语言开发,采用的是Java的执行方式,执行效率有差异。

  iOS基于C语言,可以很好的控制内存申请和内存释放。Java语言的内存控制机制远不如C语言高效。用户正在操作的时候,系统一旦发现内存不够用,就会释放内存并重新写入正在运行的程序,给用户的感觉就是卡。

  iOS系统有专门针对界面优化的代码,所有的界面显示、界面移动和界面更新都是在主线程,其他的可以在后台加载。

  《一只iPhone的全球之旅》中是这样介绍的,iPhone用了专用的芯片处理触摸屏的信息处理和手势识别。而如果用CPU处理UI显然会有卡的感觉。

  著名电子设备调查机构 iSuppli 就曾经指出,Apple 打破业内常规,把最大部分成本花费在了改善用户体验上,因此,我们看 iPhone 的硬件架构就可以发现,为了处理一个小小的触控屏,Apple动用了三块芯片,一个Broadcom 的模拟信号处理器,用来处理触控屏传感器传来的模拟信号,转换为一组代表 x、y位置信息的数据流;一个飞利浦(NXP)ARM7CPU,用来作为手势算法处理器,把触控指令解析出来(后期 iPhone型号把这两个芯片整合在一起成为一个双核结构的处理器,称为改进型 Broadcom芯片);主处理器则有一个高级别的优先独立线程专门处理触控操作类指令。

  其他电容触控手机,大多数是把那些除了模数转换之外的大部分触控控制任务交给主 CPU,这样不难理解iPhone 能够有“一触即发”的操作快感了”

  也有一些Linux爱好者的观点与新浪产品设计师吴伟一致:iOS在用户触摸屏幕的时候,触控指令的优先级是最高的,所占资源也最大,其他程序在这个时候都被挂载起来。Android系统在执行触控的时候,后台程序任在运行,占用资源较少。这个就是最根本的原因;

  之所以这样设计,是因为Android系统最初开发的时候,把对手拟定为黑莓,键盘输入相对来说资源占取就比较少,但随后迎来了触控时代,这个时候如果想重新构架的话也不太可能了,这意味着所有安卓软件需要重新进行设计。因此,硬伤导致了Android系统不如iOS。

  知乎网友右丑认为:从软件上来说,由于iOS的伪任务机制(用推送来代替真正的后台,这是个不错的机制), 资源的占用较少, 对所以流畅些是必然的;从硬件来说,iOS对于触摸屏的数据处理有一个单独的ARM处理器,而Android全部交给CPU来处理,这相当于多媒体播放中的硬解和软解,肯定是硬解对资源的占用少、效率高,但是成本也较高,因此Android有些迟钝也是必然的。

  李映辉表示:iOS和Windows phone类似,都是使用的墓碑式程序运行方式,每新启动一个应用,之前所开的应用都被挂载了起来,所以IOS不能真正的多任务,Android方面对其中一个问题是使用的JAVA虚拟机来模拟的,导致硬件的使用率不够高。

  网友冯东认为:iOS提供了相当多的机制可以让开发者把任务迁移到后端线程,并且提供了相当多的机制将后端线程让出优先级给主线程。Android 提供的便利机制虽然比较少,但是也并没有禁止开发者这么做。因此原因在于Culture而非技术。因为相比Android来说,iOS 的开发者更愿意利用 iOS的机制进行UI的微调。

  微软的专家认为:Andriod系统是开放的,应用可以调用很多系统级的程序,并且有些即使关掉应用仍在后台运行。Windows Phone最多只允许5个后台程序运行,对系统级调用也有诸多限制,所以会比Android系统快一些。

  也有一些匿名的网友表示:Android其实也有硬件加速,而且Android 3.0版本以后支持很好了,但是硬件加速占用资源太多,所以Google很多时候关了这些处理。

  总结

  不管如何,Android的开放性和终端的价格优势将苹果iOS平台摔在后面,快速占领市场用户,对于一个拥有互联网背景的谷歌来说,至关重要,尤其是移动互联网服务快速发展的今天。服务的模式显然要比一个注重产品的苹果公司风险小的多,这也难怪有些人担心在后乔布斯时代还是否能够延续苹果神话。

  值得称赞的是,正是谷歌的互联网开放精神才能够成就 Android系统的快速崛起。反观苹果和微软,他们更多的是以产品的用户体验来打动用户,这样是为什么Windows Phone要打造一个全新的用户体验模式,因此两者的发展模式不同,注定了产品体验有所差异。

为什么android比ios慢

Android的开发工作在第一代iPhone发布之前就已经开始了,原始Android原型体被设计成为使用键盘手机的设备,也就是黑莓手机的竞争对手。 UI渲染优先级别在有键盘的手机上并没有那么重要。 但...
  • garyyding
  • garyyding
  • 2015年05月11日 16:11
  • 756

Android Webview 加载显示比iOS慢的问题

前言最近实现一个Webview加载文章,然后下面可以显示评论以及进行评论的界面。当进入这个界面的时候先来一个加载动画,当webview加载好了,在onPageFinished方法里面就隐藏起来加载动画...
  • dreamsever
  • dreamsever
  • 2017年05月04日 14:38
  • 1953

[Android开发常见问题-19] Android为什么比IOS和WP慢?

拥有开放互联网精神的谷歌,在短短的4年时间,将Android打造成市场份额第一的手机操作系统;拥有用户体验至上精神的乔布斯,将iOS产品打造成全世界高端电子产品的风向标,一家独占移动市场75%的利润;...
  • shishengshi
  • shishengshi
  • 2013年09月21日 19:30
  • 1408

atitit.为什么 java开发要比php开发速度慢??

atitit.为什么 java开发要比php开发速度慢??   1. 界面开发方面vs php 1 2. 架构繁琐 1 3. 环境配置复杂 1 4. 类库jar包冲突(严重) 1 5. 配...
  • attilax
  • attilax
  • 2015年04月03日 13:39
  • 1647

WORDPRESS后台速度超慢的解决方法

最近http://news.12reads.cn/后台速度奇慢,前台没有任何问题。而且后台速度慢仅表现在获取文章列表和编辑、发布文章时,开启MYSQL慢查询,得到如下culprit: [0x000...
  • Solmyr_biti
  • Solmyr_biti
  • 2016年11月24日 12:58
  • 3784

Java这些冷知识你知道吗?

1)jvm有很多种,其实jvm是一个标准,sun做的那个叫hotspot,作者就是后来v8的作者lars bak,其他公司也做过jvm,其中做得比较好的有bea的jrockit,其他的包括ibm的r9...
  • FYGu18
  • FYGu18
  • 2017年10月24日 00:00
  • 205

为什么Android的图片质量没有iOS的高?

经常看到有人问:“安卓版微信发出去的图片怎么那么渣!比iPhone的差远了!”。不只是微信,很多应用安卓版的图片质量就是要比iPhone版逊色很多,这到底是怎么回事? 我们团队最初也纠结过这个问题,...
  • u010259369
  • u010259369
  • 2015年08月20日 16:05
  • 703

WebView控件载入网页显示速度慢的究极解决方案

Android的WebView控件载入网页显示速度慢的究极解决方案        【转载来源自http://hi.baidu.com/goldchocobo/】        Androi...
  • nic7968
  • nic7968
  • 2015年07月24日 11:50
  • 1342

假茅台酒比例你知道吗

2011年9月贵州省商务厅一位陈胜官员宣称,2009年茅台酒年产约2万吨,而2010年全国茅台酒销量约20万吨,由此推断市场上90%的茅台酒是假酒。此言一出,舆论大哗,茅台酒假货泛滥甚嚣尘上。 针对...
  • sanbao11
  • sanbao11
  • 2012年06月14日 12:07
  • 10675

android中的sp和wp

C中指针存在的问题 最近在读深入理解android内核设计思想这本书,感觉作者写作思路清晰,从设计者的角度解释了很多问题,分析问题知其然又知其所以然,把看到的一些重要思路记录下来。 ...
  • lewif
  • lewif
  • 2016年01月18日 22:46
  • 1781
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:你知道吗:Android为何比iOS和WP慢?
举报原因:
原因补充:

(最多只允许输入30个字)