EDN China > 商情观察 > 消费电子设计 > 手机设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

配置了八核处理器的Android手机咋还是那么卡?

爱活网?? 2015年07月22日 ?? 收藏2
Android手机很卡似乎是个千古谜案

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

图1 系统的总体框图

关于Android系统存在卡顿和不流畅的问题,似乎是个千古谜案——即便到现在也还有很多Android用户坚持说他们新买的旗舰已如丝般柔滑, 却真正在流畅的细微处比iOS差了一截。不过从古到今,试图解释Android卡顿的观点就有千百种,据说即便是采访Android内部开发工程师,他们 也说这是个说不清道不明的问题。这次我们就从相关Android卡顿的几个主流说法谈起,尝试从相对浅显的角度来理解这一问题。

都是Dalvik VM虚拟机惹的祸?

  按照普通人对虚拟机的理解,就是平常一直在用Windows操作系统,想装个Mac OS玩玩又没钱买苹果电脑咋办?——装个虚拟机。从这个角度来理解,不管是出于玩机还是开发、或考虑兼容性的问题,用过虚拟机的同学就知道,这东西的效率 和原生安装方式不在一个层面,不管是从驱动、资源利用等各角度来看都是如此。

图1 系统的总体框图

Android的系统框架上,在最底层的Linux内核之上就跑了个虚拟机,在Android 4.4之前,这个虚拟机叫Dalvik VM。绝大部分Android应用就运转在Dalvik VM虚拟机之上——很多人,甚至是程序员认为,Android系统之所以不流畅和卡顿,罪魁祸首就是此虚拟机,想想我们平常应用层面虚拟机的运行效率就知 道了,再牛逼的硬件也抵不住软件这么坑啊。

  早年的Android系统能有如此奇葩的框架和执行思路并不是因为Andy Rubin真的很二。Android选择这条路的原因是看中互联网上浩瀚的Java资源——Java应用可以运行在Android这种Linux内核的系 统上正是拜虚拟机所赐,对于一个当时的新生系统而言,想要尽早构建起应用生态,这是个捷径——也是Android现在拥有这么多应用资源的关键所在(虽然 苹果就没这么做)。

  不过另有一个帮派的程序员表示,这个层面的虚拟机和我们平常自己在电脑上装的虚拟机根本不是一回事,它的执行效率并没有人们想象的不堪,实际使用中和直接调用底层基础函数也没差多少。

(NDK的也可是让Android应用不用跑在虚拟机上)
(NDK的也可是让Android应用不用跑在虚拟机上)

分页导航

? 第1页: Android手机很卡似乎是个千古谜案? 第2页:从谷歌的行动看,情况好像没这么简单
? 第3页:第三方应用质量很悲剧? 第4页:内存还不够用?装越多APP手机越卡
? 第5页:Android如此卡的根源是它的碎片化?


上一页12345下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

八核处理器? iOS? Android?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈