专注于武汉中小企业服务解决方案提供商

电脑维修、布线、安防监控、数据恢复、采购、回收

所属分类 > 家电维修 > 正文

都八核处理器了、Android为何还是卡? (八核处理器什么水平)

编辑:rootadmin
有没有感觉你用的Android定位器很卡?貌似定位器配置都已经挺不错的了,四核、八核、≥2GBRAM这样的配置居然还会发生动画掉帧、点击某个按钮或图标出现停顿一会儿之类的情况?高通、MTK、英伟达之类的芯片制造商不是整天宣称什么制程、架构如何先进,什么一秒钟多少万多少亿次浮点运算,怎么还整天被iPhone用户嘲笑很卡很不爽?

整理分享都八核处理器了、Android为何还是卡? (八核处理器什么水平),希望有所帮助,仅作参考,欢迎阅读内容。

内容相关其他词:八核处理器厉害吗,八核处理器好嘛,八核处理器厉不厉害,八核处理器是,八核处理器有什么好处,八核处理器厉不厉害,八核处理器好嘛,八核处理器是,内容如对您有帮助,希望把内容链接给更多的朋友!

  关于Android*存在卡顿和不流畅的问题,似乎是个千古谜案——即便到现在也还有很多Android用户坚持说他们新买的旗舰已如丝般柔滑,却真正在流畅的细微处比iOS差了一截。不过从古到今,试图解释Android卡顿的观点就有千百种,据说即便是采访Android内部开发工程师,他们也说这是个说不清道不明的问题。这次我们就从相关Android卡顿的几个主流说法谈起,尝试从相对浅显的角度来理解这一问题。  都是DalvikVM虚拟机惹的祸?  按照普通人对虚拟机的理解,就是平常一直在用Windows*作*,想装个MacOS玩玩又没钱买苹果电脑咋办?——装个虚拟机。从这个角度来理解,不管是出于玩机还是开发、或考虑兼容性的问题,用过虚拟机的同学就知道,这东西的效率和原生安装方式不在一个层面,不管是从驱动、资源利用等各角度来看都是如此。

  Android的*框架上,在最底层的Linux内核之上就跑了个虚拟机,在Android4.4之前,这个虚拟机叫DalvikVM。绝大部分Android应用就运转在DalvikVM虚拟机之上——很多人,甚至是程序员认为,Android*之所以不流畅和卡顿,罪魁祸首就是此虚拟机,想想我们平常应用层面虚拟机的运行效率就知道了,再*的硬件也抵不住软件这么坑啊。  早年的Android*能有如此奇葩的框架和执行思路并不是因为AndyRubin真的很二。Android选择这条路的原因是看中互联网上浩瀚的Java资源——Java应用可以运行在Android这种Linux内核的*上正是拜虚拟机所赐,对于一个当时的新生*而言,想要尽早构建起应用生态,这是个捷径——也是Android现在拥有这么多应用资源的关键所在(虽然苹果就没这么做)。  不过另有一个帮派的程序员表示,这个层面的虚拟机和我们平常自己在电脑上装的虚拟机根本不是一回事,它的执行效率并没有人们想象的不堪,实际使用中和直接调用底层基础函数也没差多少。

(NDK的也可是让Android应用不用跑在虚拟机上)  我们从谷歌后来的行动看到,情况好像没有这么简单。早在Android2.3时期,谷歌就意识到Dalvik并非长久之计,就为Android引入了NDK——这是个真正的开发包,使用C/C++语言也可以为Android开发应用,以这种方式开发的应用不会跑在虚拟机上。彼时的程序员认为,这是Android从应用层真正开始具备与iOS相抗衡实力的开始,但这种梦想很快就被打破,一方面是让开发者放弃Java全面转向C/C++并不现实,而且后两者开发难度甚高,涉及内存*作甚至与设备驱动程序对话,对于Android这种机器种类繁多的*而言,开发者采用NDK很不现实(类似《极品飞车》这种大型3D游戏运行代码理应采用C++,所以这类游戏针对Android*的不同处理器甚至还有不同的版本)。  所以在Android4.4时期,谷歌为之引入了一种新的ART虚拟机,用以替代Dalvik。ART的特点是相比Dalvik更为高效:Dalvik虚拟机在每次运行应用时会将之编译为二进制机器代码,ART的改进之一就在于在应用安装的时候就将二进制代码编译完成(所以每个应用安装所占空间会更大),这叫预编译模式,而不是等到每次运行应用才编译。  理论上听来,ART似乎的确较Dalvik效率更高些,谷歌自己说ART对比Dalvik速度平均提升幅度达到%,不过各位已经在用Android4.4甚至5.0的小伙伴有这种体会吗?或许今后随着Android生态以及*自身的完善,ART可以表现出更大的优势,起码现在我们没怎么看出来它对*流畅性体验改善有多大贡献。  另外,在*框架层面,除了探讨虚拟机可能是拖垮Android流畅性的元凶之一这种说法,还有人也会谈到Linux这类宏内核在驱动方面的先天不足,这些或许都是阻碍Android有丝般流畅的要素,但是否还有其他原因呢?  硬件加速弱爆了  显示*图形界面的时候,如果画图的工作都交给CPU完成,这效率是可想而知的,犹如你让一位精通数学的同学画图,多少他倒是能画,只是能不能画好很成问题。如果GPU,也就是专门的画图工作者能够协助这个过程,情况自是大不相同。虽说*流畅性是个相当大的话题,但硬件加速是否做得好就成为其中的重要因素。

  完善如上所述的这个过程,几乎是贯穿Android2.x早期,到最新的Android5.1,甚至此后很长一段时间内,谷歌需要努力的方向。针对*图片、网页等2D图形绘制,Android所用的是谷歌早在年就收购的Skia(那时Android都还没出生,Chrome也采用Skia作为2D图形引擎)。  Skia原始版本的图形光栅处理完全基于CPU和软件运算,也就是说早期Android的2D图形绘制对GPU的利用率存在严重不足,相较iOS和WindowsPhone这种在硬件加速领域有着很久积累的*完全不是一个水平。  在Android的*设置-调试选项中,有个“强制进行GPU渲染”选项,开启这个选项以后会发现某些应用的运行的确更流畅了,但有些则出现了更糟糕的使用体验。在Android2.3时代,国外科技博客DorothyBrowse特别强制开启这种SkiaGPU加速,尝试进行Webkit渲染(Chrome的渲染引擎)测试,结果发现相较CPU自己画图,所谓的GPU加速居然出现了反效果,可知当时的SkiaGPU加速在Android平台有多么不成熟。  在Android3.0之前,这套*都没有真正行之有效的图形加速方案(即便从初版开始,Android就在努力融合硬件加速),Android3.0才实现窗口相对完整的硬件加速绘制。实际上,即便是到Android4.1,谷歌大肆宣传的黄油计划,过渡动画帧率达到fps,通过预判和缓冲来提升效率,其GPU加速支持也并不完整。谷歌自己的官方文档中就提到,并不是所有2D图像*作的API都已经支持硬件加速。都八核处理器了、Android为何还是卡? (八核处理器什么水平)

  不过总的说来,Android的GPU加速是朝着逐步完善的方向发展的,最新版相较过去已经有了很大程度的提升,从*级应用和各类*作这些年来流畅度的明确提升就能感觉得到,即便这种提升在iOS和WindowsPhone面前还是显得有些无力。可是来到第三方应用,这个问题又变得非常复杂。  第三方应用质量很悲剧在宣称如“丝般顺滑”、甚至“赶超iOS”的Android4.1问世以后,不说和iOS比实际如何,其*级应用倒真的流畅了很多,可是第三方应用死性未改,该怎么卡还是怎么卡。这就是个相当复杂的问题了。  其一,在Android一步步向前的步伐中,APILevel越高,GPU硬件加速也的确愈加完善,比如Android5.1所用APILevel。所谓的APILevel,标识的是Android平台框架的API版本。这个API可以理解为Android所跑虚拟机针对应用开发而支持的功能,随着版本号的变化,这些“功能”在发生着升级或转变。对Android的*应用而言,采用最新的API是理所当然的,流畅性也保持在最佳状态。

  但对第三方应用来说,采用最新的API,就意味着对旧版本*的抛弃。比如微信应用更新,如果很任性地用上APILevel,那么最新版的微信将只支持Android5.1,人类可以忍受吗?所以微信迄今为止还在采用APILevel9,微博则为APILevel。这种API的迭代,也是苹果为何高度追求*一致性的重要原因。想想Android*的碎片化问题,第三方应用要变得更高效,好像是个根本无法完成的任务。  这还只是第三方应用开发的一环。其二,Android应用开发者的“随性”让Android应用的效率更加悲惨。比如说谷歌在应用开发的指导原则中提到,如果应用不够流畅,应该看看是否存在“过度渲染(OverDraw)”的问题,就是布局重叠、重复绘制。

  要检查这个问题,有兴趣的同学可以一起来做这个实验。在Android*设置的开发者选项中,选择“显示GPU过度绘制”,此时整个界面变得花花绿绿一片。这些色块所表达的是,无色透明状态为最佳,蓝色表示很好,绿色为不错,浅红色表示较差,深红色为过度绘制问题严重。类似Instagram等应用的情况似乎挺好,而某博和Facebook过度渲染的问题就很严重。这只是Android应用开发中的一个例子,如此这般罔顾开发原则的状况那是数也数不清的。在Android相对*的应用世界中,这种情况是不会有*去抓的,显然iOS全程把关AppStore就不会这么悲剧。  其三,在天朝这样一个奇特的国度,*的*无疑为许多应用开发商提供了大好机会。很多应用当安装到你*中,其行为习惯可能是你完全不知道了,而且可能实情会更令你震惊,这就是下面一个话题了。  内存居然还不够用?装越多APP定位器越卡  相关Android装越多应用,定位器越卡的解释非常多样,甚至包括对于固态存储原理的解释。或许这些都是原因所在,不过更关键的原因是这样的:Android*中有个叫做Receiver(*?)的东西,负责传递*接收到的变化,就像是神经*。比如说按下Power键锁屏,长按关机,或者长按相机按键启动相机应用,或者**,都是在Receiver接收到以后通知相应apk,后由程序给出响应。

  应用本身就可以跟*注册任何形式的Receiver,其较大的用处之一是通知*启动某个程序。比如YouTube的Receiver在开机时、*语言切换后、*账户改变后这三种情况下自动启动YouTube应用本身——这是个比较常见的Receiver。而国内的诸多“异士”是如何写Receiver的呢?  某些著名*站APP在下面这些情况下都会启动,包含开机时、网络状况改变时(2G、3G与WiFi间切换)、安装其它App时、卸载其它APP时、用户唤醒机器时.。对于用户而言,无论你怎么杀进程清内存,只要这些*作被触发,Receiver就会启动相应程序,话说连个WiFi、下个新应用都要启动该应用,哪有透明度可言,真是独有社会主义特色。

  此类国产APP相当多见,常见Receiver动作还有:*拔出或*时、文件下载完成后、WiFi扫描SSID完成后,都启动程序,是不是感觉灰常神奇?它们的宗旨就是永远不会被你*,什么一键杀进程,分分钟给你活过来,除非彻底卸载它们,或禁用相应Reciever。在这种情况下,Android*对于内存容量的要求自然是非一般的。  所谓的内存回收机制此刻都已不值一提,何以iPhone1GB内存流畅运行至今,而Android现如今已是3GB时代;这也是很多Android优化文章告诉用户,如果某应用一周不用就卸载的核心所在,环境使然。你听说过iOS优化让用户卸应用的吗?

  碎片化问题让Android千疮百孔  可以说,除了Android本身的顽疾之外,导致上述绝大部分问题的根源就是Android的碎片化,无论是Android自身*的态度让各种高配、低配的*都在使用,还是定位器制造商对Android进行的二次开发。要将硬件加速做好、规范第三方应用质量,在Android*的理念下是几近不可能完成的任务,且谷歌自己都难以收拾局面。

  Android的*和碎片化带来的问题还远不止上面这些,一个典型的例子是iOS和WindowsPhone都具备了特别出色的信息推送机制,比如说QQ、微信接收消息,在iOS和WindowsPhone中,应用本身不需要常驻后台,通过每台定位器和推送服务器保持唯一连接,就能收到推送通知,无论对性能和功耗的节省都具备了极大的意义。  Android*当然也具备了消息推送的可行性,但由于碎片化问题,以及国内因为某种原因不得不去掉谷歌服务的现状,令Android不同应用采用五花八门的推送机制。许多Android应用获取消息的方式是轮询(而非推送),即应用主动地与服务器连接并查询是否有新消息,可想而知它对*和网络资源的消耗。

  关乎Android*本身,则除了文首提到的虚拟机机制,还有许多相当微妙的问题形成它与iOS之间的流畅性差异,比如Android对多任务的支持更类似于桌面*,本身就只有靠堆砌硬件才能满足这种多任务的需求,当然iOS的多任务也已经不像很多人理解的那样,是多年前的“假后台”了,它针对第三方应用*的多任务API正越来越多。  总之,Android的卡顿和不流畅是个极其复杂、庞大的问题,上面所提的这些也只是挖掘了其中的一部分。就Android*的发展轨迹来看,从初代问世至今,其发展史都可以看做是谷歌在*流畅性问题上所做的一次次努力,流畅性改善甚至是Android前行的一条线索,所以谷歌也才毫不吝啬地一次次地宣传,我们的*更流畅了,不管相较竞争对手有多大差距和多少不可控性,现在的Android也已经比过去流畅了很多,虽然未来还有很长的路要走。

标签: 八核处理器什么水平


本文链接地址:https://www.iopcc.com/jiadian/38488.html转载请保留说明!

上一篇:Win10打不开OneDrive的怎么修理 (win10打不开显示设置界面)

下一篇:电脑出现蓝屏后排除及处理的方法! (电脑出现蓝屏后怎么办)

推荐内容:

明基FP71G+液晶显示器,不接信号有LOGO显示,接信号后黑屏 (明基bnq7f58显示器)

明基FP71G+液晶显示器,不接信号有LOGO显示,接信号后黑屏 (明基bnq7f58显示器)

不接信号时有LOGO显示。但接上VGA信号后并不出现图像而是立即黑屏,同时指示灯变为*。不接信号时有LOGO显示,说明 ...

变压器的九种分类方式 (变压器的常见分类方法)

变压器的九种分类方式 (变压器的常见分类方法)

型,按用途分类、按电源输出相数分类、按*方式分类、按绕组数量分类,变压器有许多种类型,一起来了解下。变压 ...

电饭锅煮不熟饭的原因,电饭锅为什么煮不熟饭就跳到保温 (电饭锅煮不熟饭是什么问题)

电饭锅煮不熟饭的原因,电饭锅为什么煮不熟饭就跳到保温 (电饭锅煮不熟饭是什么问题)

电维修社告诉你该如何维修电饭锅分普通的机械式和电脑板控制的两类,1,机械式电饭锅没有煮好饭就跳了一般都是 ...

Win10睡眠功能丢失如何维修?Win10睡眠功能失效的怎么修理 (win10睡眠消失)

Win10睡眠功能丢失如何维修?Win10睡眠功能失效的怎么修理 (win10睡眠消失)

碰到各种各样的问题,其中就有用户在更新完*之后发现自己电脑中的睡眠功能消失了,那么遇到这种情况应该如何维 ...

电脑运行速度慢原因是什么 (电脑运行速度慢加内存条能解决吗)

电脑运行速度慢原因是什么 (电脑运行速度慢加内存条能解决吗)

要了解电脑为什么这么卡的时候,就必须要了解电脑运行慢的根本原因,而且一定要了解好对策问题,根据原因来解 ...

旧手机别扔,让电脑也能蹭网! (旧手机直接扔)

旧手机别扔,让电脑也能蹭网! (旧手机直接扔)

!(旧手机直接扔),希望有所帮助,仅作参考,欢迎阅读内容。内容相关其他词:旧手机拿来干嘛,旧手机给我吧,旧手机 ...

创维32E360E液晶电视开机没有反应的检修思路 (创维32e360e液晶电视机背光灯亮,屏不亮)

创维32E360E液晶电视开机没有反应的检修思路 (创维32e360e液晶电视机背光灯亮,屏不亮)

开机没有反应。拆开后盖,通电试机,测得市电整流滤波电路输出电压为V,但开关电源次级输出的+V、+V电压均为0V。 ...

创维40E690U液晶电视(9R10机芯)指示绿灯亮不开机通病维修 (创维42e690u)

创维40E690U液晶电视(9R10机芯)指示绿灯亮不开机通病维修 (创维42e690u)

是9R,故障绿灯亮不开机,是收到其他维修同行的一台同行维修部送来的,拿来时候说主板供电全部正常,说可能数据 ...

长虹LT32710液晶电视花屏的故障检修 (长虹LT32710液晶彩电怎样测灯条)

长虹LT32710液晶电视花屏的故障检修 (长虹LT32710液晶彩电怎样测灯条)

图像整体偏粉红色,故障如下图1所示,解决的办法是用*把电视切换到TV模式下,然后按菜单键,再按数字键,最后按 ...

索尼KLV-46V380A液晶电视屏幕有横条纹的检修思路 (索尼klv-46v530a)

索尼KLV-46V380A液晶电视屏幕有横条纹的检修思路 (索尼klv-46v530a)

为是屏显字符正常,在*或分量输入状态下屏幕上只有横条纹,如图1所示,输入HDMI信号图像正常。整理分享索尼KLV- ...

Copyright © 2023 武汉电脑维修 All Rights Reserved.

鄂ICP备2023003026号

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢!邮箱: opceo@qq.com