关于Android流畅度不如iOS几点看法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于Android流畅度不如iOS几点看法.docx

关于Android流畅度不如iOS的几点看法 网上一名据称是前谷歌实习生的人透露了一些关于Android系统硬件加速的内幕。据称,在 Android3.0和4.0之前,并没有完整的硬件加速。他们一直在通过硬件加速绘制某些UI元素,并称效果并不像他们想象中那样乐观。他认为,Android效率低下的设计框架使得它需要通过更强大的CPU/GPU才能确保具有100%的流畅体验。 他表示在iOS系统中,用户界面渲染的过程被赋予了很高的优先级,当触摸屏开始操作,系统将停止所有进程,将所有资源集中对节目进行渲染。而在Android系统中,就没有这种待遇了。虽然Android手机配置普遍很高,但进程不会为界面渲染让路,由于资源被分配到不同任务中,造成了Android操作的不流畅。 从“前谷歌”“实习生”等定语中大概就可以判断出,这些言论没什么权威性。事实上也正是如此。 事实上,Android从1.0版本之后,所有窗口元素的合成和显示,都是通过硬件完成的。按钮的动作、下拉菜单的阴影、弹出窗口和提示框的显示和隐藏等等。同时,各个窗口元素的拼接,类似的任何窗口的移动等,都是通过硬件方式渲染的。 Android4.0中最主要的改变是,在面向Android4.0或更高版本的应用中,硬件加速是被默认开启的,而不需要在配置文件中设置。在此之前,考虑到某些特殊的绘制操作光靠硬件加速无法很好的完成,强制开启的话会明显中断应用运行,故而未允许其默认打开。 Android采用的是Java技术,所有应用在一个叫Dalvik的Java虚拟机中运行,Dalvik是Android的核心,是google专门为移动设备优化的Java虚拟机,Android应用就是典型的Java应用。可以说 Java应用的优点(成熟、存在大量可重用代码)就是Android的优点,Java应用的缺点(占内存大、运行速度略低)就是Android的缺点。 所以Android移动设备要能运行顺畅,必须有高性能U+大内存CP,256M内存刚刚够,512M内存差不多了,要运行得很顺畅则需要1G内存,要知道iPhone4才512M内存。高性能CPU+大内存给基于Android的移动设备带来成本高和耗电量大两大问题。 硬件加速并不如人们认为的那么完美,他占用的RAM巨大。RAM是有限的,分出一大部分去绘制,那处于运行中的进程就会缺少内存。 硬件加速并非流畅的必杀。最初的时候,Android使用了一种完全不同的渲染策略,并做了一些折中:网页被转换成一个”显示列表“,持续的在屏幕上进行绘制,而非使用块(Tiles)的形式。 它的优点就是,在滚动或是缩放的时候不会发生有的块还没被渲染出来的现象。而这个方法的不给力之处就在于页面复杂的时候,帧速就明显低了。例如Android3.0,浏览器中开始使用块的方式进行渲染,于是它可以在滚动或是放大的时候保持一个稳定的帧速,自然也会出现新的块没有被立即渲染出来的情况。 换个角度考虑,不能把所有问题都推到硬件加速身上,让他像个救世主似的,一出手所有问题迎刃而解。首先来说,GPU的性能就限制着渲染速度。随着屏幕分辨率的不断提升,帧数和GPU的速度,尤其是内存总线带宽有很大的关系。随着像素的提升,GPU能更好的处理图像运算。 说到iOS,再说说iPhone和iPad。人们普遍认为iOS系统比Android要好,要流畅。像nexus S的硬件几乎比iPhone4先进两到三年,但流畅度比较之下,也难分伯仲。 有人说是因为架构不同,这真是没有的事。iOS和Android同属类unix系统,本质上没有区别,CPU也同为ARM架构。即使说芯片的设计方式,Android高端机的设计也要比苹果的A4处理器要先进。现如今大多数Android机动辄上 G的内存,而iphone4还是512M,而流畅度却完胜,这大概不是硬件的问题了吧。 iOS是苹果长期积累的结果,系统核心、基础服务和应用框架都采用C/C++或object-C开发,而应用采用Cocoa Touch框架,以object- C开发,应用编译后以本机代码在设备上运行,因此具有很高的运行效率。 依我看,硬件资源的运用不合理,才是导致运行效率低下的原因。 iOS系统凭借良好的软件监控,对系统资源极端的节约。这也是为什么iOS系统能凭借 512Mb内存,却能战翻很多1G内存手机的原因。特别是在后台上。一般的后台,程序不会被关闭,而是继续在系统内部继续进行。而iOS则是将主程序关闭,任务交给一个进程,任务完成,则关闭该进程。 这样的运行方式将内存的消耗降到最小,它不像一般的方式那样,继续开启住程序,让无用的组件继续占用内存,无法释放。普通方式在处理这些任务时,会将这些任务全部搬入系统缓存压缩或释放。在需要重新加载

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档