⑴ 为什么同样配置,苹果手机比起安卓要流畅很多
不少人都反应苹果iPhone要比一般android手机流畅,这是一个现象要说是大问题谈不上,毕竟两者是完全两个不同的系统所以严格来说放在一起对比是不公平的。不过因为Android以及iOS是当下两大主流操作系统,对比抗衡之类的说法自然难以避免。今天我们就来谈谈为什么iOS产品在使用过程中会让人觉得更加流畅一些,而为何一些Android手机则容易出现卡顿延迟的情况。
Android系统架构
iOS的Objective-C,编译器gcc,而这个gcc编译出来的代码又被苹果专为iOS架构优化到了极致,运行过程中也不需要虚拟机在中间插手,执行效率自然很高--引自网络。这一段话应该是iOS系统本身运行程序的执行过程,而Android是通过JAVA虚拟机来执行,并且系统需要占用大量内存来换取执行速度,再加上不定期的内存自动回收机制,从而直接导致了卡顿现象的出现。
iOS系统架构有着不错的运行效率
Android的JAVA编程本身运行效率比Objective-C低一些,而且再加上内存自动回收的机制,所以造成了一些卡顿不流畅的现象出现。但根据技术人员讲解,现代的JAVA虚拟机效率已经不再是最大的瓶颈,Android 4.0系统版本之后的卡顿现象明显得到了改善,所以这也是有用户并没有发现自己新买的Android手机出现太多卡顿现象的原因。看来编程语言和机制已经被Android进行了改善,这同样也不是造成它与iOS流畅性偏差的唯一因素,不过影响却是实实在在存在着。
有了优先级的关系,有了GPU加加速的影响,还有两个系统各自编程以及机制的问题,似乎已经可以说明为什么iOS相比Android更为流畅的原因。但最终还有一个问题是就是应用程序,很显然用户觉得卡顿都是在运行软件的过程中产生,毕竟没有安装任何应用的初始出厂手机基本上都不存在不流畅或者延迟等现象,而且一款智能手机不安装任何应用程序那也不符合用户的购买初衷和使用行为。所以归根结底,Android相比iOS的应用程序,到底出了什么问题?
App Store是苹果和iOS的另一个标志
因为iOS产品的封闭性,所以所有的APP运行对象都比较单一,因为每个应用程序都是被运行在iPhone,iPad等iOS产品当中,它们有着很高的硬件利用效率。因为iOS系统的配件供应商只有那么几家,CPU也是一年换一次,这点不像Android终端年年变月月变,开发者很难遇见未来终端分辨率会包含多少种,GPU驱动会包含哪些等等,所以相对来说Android应用开发成本较高且收益较慢。而iOS应用开发则因为软硬件垂直整合而受益,这样一来苹果自然就保证了应用本身其与硬件产品之间的完美结合程度。
其实Android和iOS两大系统APP开发情况的不同,也正是它们开发和不开放的特性所造成的。如果要是拿旗舰Android手机加上一个专为这款旗舰产品设计的游戏,来和苹果iPhone 5运行对比的话,你真的不会遇到Android旗舰机出现卡顿延迟的问题,为什么因为这款游戏针对这款手机设计,在软硬等方面都达到了最大化的兼容和优化,自然就不会出现停滞的现象。
Android App虽然奋力追赶在但数量和质量上并未超越iOS
而Android系统程序要被安装在各种符合要求的手机上面,开发者也不可能针对所有的机器型号进行开发,只能在比较主流的机器上进行测试并保证运行效果,所以他们为了兼顾整个产品线只能不得不降低游戏体验以达到高中低产品可以共用的效果。最后那些占据了Android终端份额的大量大众用户们由于自己的手机不是旗舰产品而得不到流畅的使用体验,自然而然就会产生Android产品不如iOS流畅的抱怨。
⑵ 安卓系统为什么运行没有iOS流畅
苹果公司,软硬件都经过优化过的。
系统使用语言,C语言肯定是快过Java,虽然Android并不是基于JVM,是基于davik,是一个基于寄存器的,但是还是会受到限制。
苹果的用户响应机制不同,Android在用户响应上滞后,因为刷新界面是无法根治的问题。
但是Android未来发展还是不错的。用户量大,开发人多,开源,所以随着摩尔定律,发展也是成倍的。
⑶ 为什么安卓手机没有iPhone操作流畅
软件工程专业的前谷歌实习生Andrew Munn在Google+上发表言论,阐述了为何Android的用户界面没有苹果iOS流畅的原因。
根据Munn的说法,Android系统最主要的问题就是触控界面的渲染并不是优先级的,相比之下,苹果的iOS触控界面的渲染是实时优先的。他以Android系统网站加载和电影程序为例,当用户已经完成触控输入后,操作系统还会继续加载。
Munn还指出了一些导致Android延迟的其他因素,譬如,为了防止每秒帧数达到60而产生顿感,Android 3.0 Honeycomb和4.0 Ice Cream Sandwich相册程序中的每秒帧数都被设限为30FPS。他还说,设限30FPS解决了动画制作不流畅时的顿感问题。
Munn同时还指出了Android的硬件问题。据他介绍,由于Nvidia的Tegra2芯片内存带宽较低并缺乏NEON指令集的支持,因此限制了Android的发挥。基于Honeycomb的平板电脑如果换成其他的GPU,比如三星的Hummingbird或是苹果的A4,效果将会更好。
Munn表示,另一个导致滞后的原因是来自Android系统Dalvik虚拟机的限制,作为一个桌面级的Java虚拟机,Dalvik还不成熟。然而,这一问题可以通过来自Ice Cream Sandwich的硬件加速和对Dalvik的改进来抵消。
然而尽管做出改进,但因设计局限,用户界面渲染的优先级别要求不高,Android用户界面不可能做到完全流畅。
另据Munn爆料,最初谷歌以黑莓为竞争对手,所以Android的原型机一开始是全键盘的设计,用户界面渲染的优先级别要求也不高。但是在2007年iPhone发布之后,为抢占市场,谷歌急于完成Android系统,而已经没时间为触屏手机重写代码框架,于是Android界面的渲染级别就成为了遗留问题。
当然,也有说法说这个实习生Andrew Munn是一个软件工程专业的本科毕业生,他在Android团队并没有在框架团队工作,也没有看过Android渲染的源代码,因此他所说的未必是100%准确。并且他也曾经Windows Phone团队工作过,因此可能会不自觉的对Android产生偏见。不过苏阳觉得这个说法并不准确,既然他能分析出android中没ios流畅的原因,所以没人能保证他就没看过渲染的源码。
使用了多部android设备和ios设备之后,苏阳觉得流畅度还跟很多方面有关,比如触摸屏的质量以及系统硬件等。既然安卓设计就存在缺陷,所以只能在现有的状态下修修补补,另外一个就是生产厂商不断推出强大的硬件来弥补。
安卓没有ios流畅主要体现在系统界面的切换上,若说在应用中和游戏中你能感觉出来那是不大可能的,至少我是没觉得安卓在游戏中会卡顿。android设备以强大的硬件来弥补自身的缺陷,即便如此,依旧无法于ios抗衡。如果你使用了android的顶级设备,和苹果一对比发现,即便是android的顶级设备也没苹果的流畅,主要原因有三点:
第一、手指跟随界面的速度。
第二:系统判断的准确度
第三:系统的反馈
首先分析第一点,既然流畅,系统对于使用者的交互就显得尤为重要,“屏幕跟随手指”就是流畅的最高境界。
再者是第二点,我们在屏幕上每操作一次,程序就会对这个动作进行判断,如果判断不准确,那么就会影响使用者的心情,当然,使用者就会认为这个系统“不够流畅”,举个例子,当你的手指按住某个app然后向左滑动时,程序却错误地打开了这个app,这是一个方面,还有一个方面就是当你的手指在屏幕上向左滑动时,由于我们不可能做到水平向左滑动,所以系统也需要能将某一范围内的“左上”或者“左下”判断为向左滑动来达到切换界面的目的。所以程序判断的准确度决定了我们感受上所谓的“流畅度”而并非理论上的流畅度。
最后是第三点,系统的反馈,我觉得这也是android不及ios流畅的最大原因。如果你玩过ipad,你就会发现,当你轻轻地把手指放在屏幕上小幅度地向左滑动时,屏幕就会向右切换,并且切换屏幕的速度相当迅速,让人有一种行云流水般的感受。
⑷ 安卓的流畅性为什么始终超不过ios
感觉有几个方面自己的见解不对请指出
1。安卓手机软件开发商参差不齐。约束太少。比较随性。苹果手机软件开发比较统一。约束性较好。)你看苹果什么时候有停止不掉的应用,安卓呢。停止后自己随意运行。
2.安卓系统模仿很多。但是很少有在乎升级内核(别提什么2核升级到8核你知道么百分之98的时候其他6核甚至7核一点用处都没有)而苹果一年一次小换代两年一次大换代不管是软件还是硬件都比较注重
3.后台运行。安卓的后台用过的都知道。不管用还是不用的都一直在占用资源。而苹果的后台是只有你用到他的时候他才会占用资源(我感觉这才是最主要的)
4.当你用手机的时候苹果首先响应的是屏幕二安卓呢什么框架什么应用,屏幕都不知道排在哪里了。
5。还是苹果被神化了毕竟5.6千的手机。而和苹果比的安卓手机你确定他是安卓之中的高端机么???
6.还没想好。。首先我不知道会不会有人看到,会不会有人认同。转载的话提前说声被
7.毕竟不是苹果也不是安卓的工作人员。自己的见解。不对的地方别较真
8.纯手打。很累的。对不对采纳下呗
⑸ 安卓发展至今真的还不如ios流畅吗你怎么看
安卓前几年的流畅度的确不能跟ios比,但是经过这几年安卓持续的优化,在流畅度方面已经取得了很大的进步了。但是我觉得无论安卓再怎么优化,特别是动画过渡方面依然比不过ios。根本原因是安卓和IOS系统的根本原因,即安卓会在点击时先判断然后执行动画,而IOS会先执行动画,无论你点击什么。
苹果跟安卓的芯片性能差距太大。
首先,这与手机的处理器和配置密切相关。处理器相当于手机的大脑。有了一个好的手机处理器,手机上的用户体验将大大提高。现在在安卓手机市场上,满是100元和1000元的机器,而这些低成本的手机最有可能被卡住。它的处理器性能不够,内存不够。当然,我们不能携带数百元或1000元以上的手机,所以我们要求它们像6000或7000个苹果一样柔软。
⑹ 安卓手机玩游戏为什么没苹果手机流畅
这是两者的系统架构不同导致。
1、屏幕反应
iOS对屏幕反应的优先级是最高的(Touch-Media-Service-Core架构),也就是说用户只要碰了屏幕,系统最优先去处理屏幕显示,然后才是其他。
而安卓则是传统的Application-Framework-Library(JAVA虚拟机)-Kernal架构,图形图像处理在Library这层,优先级不是那么高。如果系统负荷较高,则无暇顾及用户触摸的反应。
2、硬件加速
其次是iOS对图像的各种特效处理(放大、缩小、旋转、滚动等)都是基于GPU硬件加速的,与APP无关。这是APPLE采用封闭式硬件的优势。
而安卓为了适应不同的手机硬件,做不到这点,很多APP的图形特效都靠APP自己去进行软件渲染,效率低。最新的4.1已经改进,但也无法做到所有特效都靠GPU硬件加速。
3、执行速度
最后就是安卓的JAVA虚拟机:相对iOS的Objectiv-C,JAVA天生运行效率低下,需要占用大量内存来换取执行速度,而不定期的内存自动回收机制,直接导致安卓界面的卡顿现象,无论如何优化也不可能改掉。
2.3版安卓就是为改善此设计而发布:引入了一种新的并行内存回收机制来减轻这种卡顿影响,但也仅仅是减轻,而无法彻底消除。也因此2.3版成为安卓重要的里程碑。
⑺ ios为什么比安卓流畅
渲染机制不同
Android没有iOS流畅的根本的原因是,iOS的UI渲染采用实时优先级,而Android的UI渲染遵循传统电脑模式的主线程普通优先级。
通俗点说就是iOS对屏幕反应的优先级最高,用户只要触摸屏幕,系统就会最优先处理屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务、核心的架构。
而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在比较后的优先级。同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这无疑就增加了处理器的压力。因此对于Android来说,一个高效的双核处理器是很重要的。
在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截了所有的事件,系统会将所有资源用于渲染UI过程,以保证用户界面的实时渲染优先级。
而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。
后台机制不同
安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时,程序实际上并没有完全退出,而是被系统挂在了后台,为何我们关掉了聊天软件依然能够收到消息通知,因为它常驻系统内存。包括平时收到的一些垃圾广告推送,也是因为后台有程序运行。
所以这就导致了一个现象,从内存使用上来看,安卓刚开机时内存使用很低,若不进行清理内存操作,正常使用一天,内存占用会达到75%以上。而内存占用越高,使用起来流畅度就会越低,所以安卓机器需要更大的RAM来提升用户体验。
而iOS呢,其实是采用的伪后台,当用户HOME键退出应用时,iOS其实关闭了程序,只保留应用的图像入口,只会默认将应用的最后的运行数据记录在RAM中。
之所以iOS也能收到推送,是因为当用户从应用中选择开启推送之后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相比于同类安卓机低了很多,但是iOS还是会给人更加流畅的感觉。
iPhone执行程序的效率比安卓机高
另外,安卓系统的编程语言是Java,特点是通用性强,效率低。而iOS的则为Objective-C,专一性强,效率高。
iOS系统本身优化得很好,而且程序也是直接执行,所以效率很高。而安卓系统是通过Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执行程序,所以效率低很多。
⑻ 为什么原来安卓系统的流畅度要比ios差
IOS的UI渲染是采用实时优先级,而安卓的UI渲染是遵循传统电脑模式的主线程普通优先级,简单的说就是IOS对屏幕反应是优先级很高,用户只要触摸屏幕,系统就会最优先处理屏幕显示的这个层级,马上给出动画效果。然后才处理媒体 服务 核心的架构;而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在后面;
IOS其实是采用的伪后台,当用户HOME键退出应用时,IOS其实关闭了该程序,只保留应用的图像入口,只会默认将应用的最后运行数据记录在RAM中,可是为什么IOS用户也能收到推送消息呢?因为用户从应用中选择了开启推送后,系统会增加几个进程,这几个进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里就起到了中转的作用,正是因为有了这一系列的机制,所以即便iPhone的配置比安卓机低,但是IOS还是会给人更加流畅的感觉。
⑼ 为什么感觉安卓的系统流畅程度还是比不上ios
虽然很多Android手机的配置都比iPhone要高,比如大多数Andorid手机的内存都有1GB,而iPhone 4S只有512MB内存,但用过iPhone的人都知道Android手机在使用的时候总感觉没有那么顺滑,究竟为什么会出现这种现象呢?一位软件工程师和前Google实习生Andrew Munn解释说是因为Android系统UI的框架设计的问题。 在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,系统会将所有资源用于渲染UI过程。而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。 由于这个原因,新发布的GalaxyNexus,甚至配备四核处理器的话说EeePad Transformer Prime平板电脑都无法保证顺滑的操作体验,这些设备只能与3年前的iPhone顺滑程度相比,那么Android团队为什么不从根本解决这个问题呢? 实际上,Android的开发工作在第一代iPhone发布之前就已经开始了,原始Android原型体被设计成为使用键盘手机的设备,也就是黑莓手机的竞争对手。UI渲染优先级别在有键盘的手机上并没有那么重要。但是在iPhone发布之后,Android小组为了快速推出能与iPhone竞争的产品,迅速将Android改成触摸屏手机系统,但那时重写UI框架已经不可能了。因为如果这样Android应用市场中的所有程序将变得不可用,这种关系将一直处于恶性循环之中。难怪乔布斯在传记中表示Android是偷来的产品,哪怕苹果倾家荡产也要将其消灭。