首页»版块 历史内容 历史内容 历史内容 历史分类 碎片化问题解惑:安卓集成驱动难在哪里?

碎片化问题解惑:安卓集成驱动难在哪里?

[复制帖子标题和链接]

492831

荣耀粉丝9321092  LV10  发表于 2015-9-12 01:26:00 属地未知 来自:浏览器
本帖最后由 littlebai1119 于 2015-9-12 01:33 编辑

“Google发布Android时为什么不集成一些常见的驱动,手机硬件厂商为什么不能像PC厂商那样直接向用户提供设备的驱动?”
相信很多网友对于Android的碎片化都有所耳闻,而万碎万碎万万碎说出的这个问题确实是更好解决Android碎片化问题的最佳方案之一,而之所以没有成功的去实施这个方案的原因在于Windows与安卓有很大的不同,这个不同点,就让小编给大家简单的说一下。

碎片化问题解惑:安卓集成驱动难在哪里?

首先第一点,Windows平台的硬件相对于Android的硬件来说简直太少了。
Windows/Linux由于对于x86/64架构的通用性完全标准化,这个其实是历史的原因。在很久很久以前,IBM还是传说中秒天秒地秒宇宙的时候,为了干掉竞争对手MAC,使出终极技能”PC规则规范化“然后带领着一众小弟Intel、Windows这些小弟一起开辟新的世界。
然后把指令集统一,不管怎么换,都是那两家,而硬件接口、针脚、协议等等很多也都做出了相应的规范化。然后CPU、内存、南北桥下PCIE等等这些架构完全统一。这样就导致了各家OEM做的各式各样的东西随便换,随便玩。而这样做的好处就是Windows面临的不同的CPU架构少之又少,造成了现在Windows轻轻松松给这些硬件集成这些驱动。现在若要让windows开源,那场面简直酸爽。

而Android就不同了,Android需要面对不同的cpu架构,虽然一开始Google就学习IBM将软件部分开源了,但是众多的硬件在不同的厂商手机随便玩耍,也带来了就是各家维护各家的事情了。随便举个例子,例如Android在不考虑指令集的情况下有ARM/MIPS/x86三种,而如果把不同设备类型之间最基本的驱动全部写进内核里面,如果一个架构需要120MB,那么三个架构就是360MB,再加上乱七八糟的应用,导致刷机包可能会超过1GB,正因为这种原因导致了Android无法把驱动集成。


手机硬件商为什么不直接向用户提供设备驱动?
这个原因其实就是Android是运行在linux之上的操作系统。简单的拆解Android系统来看,Android的层次可以分为底层是linux,中间是叫做Dalvik的java虚拟机,而上面则是Android运行时库。而linux采用的是宏内核,内核和驱动是在一起的,如果要添加驱动,基本上就得需要重新编译内核了。

游客,如果您要查看本帖隐藏内容请评论

评论31
荣耀粉丝9321092  LV10  发表于 2015-9-12 01:26 属地未知 来自:浏览器

沙发自用

安卓5.0/5.1份额突破20%,依然落后安卓4.4
http://club.huawei.com/thread-5573420-1-1.html
(出处: 花粉俱乐部)

荣耀粉丝13560005  LV7  发表于 2015-9-12 08:08 属地未知 来自:浏览器
支持楼主。。。。
荣耀粉丝8817953  LV7  发表于 2015-9-12 09:02 属地未知 来自:浏览器
谢谢分享
   发表于 2015-9-12 09:19 属地未知 来自:浏览器
过来学习学习了
荣耀粉丝13186256  LV4  发表于 2015-9-12 11:44 属地未知 来自:浏览器
福氏耐格里变形虫
荣耀粉丝15717489  LV6  发表于 2015-9-12 12:06 属地未知 来自:浏览器
看看~~~~~~~~~~~~
荣耀粉丝11206189  LV10  发表于 2015-9-12 12:22 属地未知 来自:浏览器
嗨在路上 发表于 2015-9-12 07:57
知道知道,所以嘛,你懂的

加了一些自家功能
荣耀粉丝11206189  LV10  发表于 2015-9-12 12:24 属地未知 来自:浏览器
小白昨天去哪了
荣耀粉丝11206189  LV10  发表于 2015-9-12 16:50 属地未知 来自:浏览器
嗨在路上 发表于 2015-9-12 15:32
自从更新3.1后,手机相对3.0还是流畅不少,也由于手机流量不多了,所以比较少上花粉俱乐部。 ...

啥???
您需要登录后才可以评论 登录 | 立即注册
简体中文 - China
快速回复 返回顶部 返回列表