当前位置:首页 > 智能硬件 > 智能硬件
[导读] “底层”其实是个很模糊的概念,所以即使知道Android采用了分层架构,我们也很难判断手机厂商所谓的“底层优化”具体所指。因为仅从字面理解,它可以是绝对的底层——Linux核心层,也

 “底层”其实是个很模糊的概念,所以即使知道Android采用了分层架构,我们也很难判断手机厂商所谓的“底层优化”具体所指。因为仅从字面理解,它可以是绝对的底层——Linux核心层,也可以是相对的底层——应用程序框架层、系统运行库层和Linux核心层。

如果对“底层优化”这四个字刨根问底,那会是个很有技术难度的问题。这不禁让人思考为何手机厂商会如此频繁地提及这个概念,身为技术小白的同事对此表示:“也许是因为‘底层优化’听上去真的很像从根本上解决问题吧。”

Android到底有什么问题?

如果从产品的维度来考量,到目前为止iPhone依然是综合表现最好的智能手机。但值得一提的是,在强大的Android阵营中,即使众厂商都曾站在同一条起跑线上(原生Android),现如今也有人已经走得很远。

试图追溯当初第三方OS在中国爆发的契机时,原点心OS的产品运营总监李俊表示:“Android最开始的版本太差了。”造成这种局面的原因有很多,最重要的两点莫过于Google退出中国市场,以及Android的设计初衷。

一方面,Android与iOS很大的一个区别是:在Android的生态中,手机厂商基本上都是“第三方”。所以在适配硬件的过程中,不同厂商之间的表现也千差万别,相机就是其中的典型。同一颗摄像头,同一个解决方案,不同成像质量的例子不胜枚举。

另一方面,Android诞生时并不是软硬件结合的产物,所以相比苹果对iOS的控制力,Google对Android的开发者基本上采取了“放任自流”的态度。自动运行、自动联网、常驻后台、广告推送、通知栏推送、弹窗推送等非常敏感的权限,Android几乎全都提供给了开发者。

而开发者无论是公司还是个人,他们基本上都是靠利益驱动的。所以当他们发现在举手投足之间,就能为自己带来巨大的商业回报时,权限滥用就成为了一种常态。基于以上两点,作为一个对用户体验还有追求的Android手机厂商,“底层优化”就变得必不可少。

底层是哪一层?

Android的基本架构就是四层——应用程序层、应用程序框架层、系统运行库层和Linux核心层。采访不同的业内人士,询问“底层优化”的范围时,他们几乎给出了完全不同的答案。

FView CEO彭林:“应用程序层和应用程序框架层。系统运行库层(手机厂商)动不了,Linux核心层更动不了。”

乐蛙CEO 赵力:“应该是指应用程序框架层,有能力动下面两层的厂商不多。”

锤子软件开发工程师:“中间两层都有(应用程序框架层、系统运行层)。”

LBE CEO 张勇:“下面三层对手机厂商而言都算是底层,主要优化在最下面两层。”

魅族软件工程师吴章金:“APP(应用程序层)之下,用户看不到的摸不着的都可以叫底层,更底层的则为 系统运行层以及之下。”

小米安全总监马骥:“优化是贯穿整体的,每一层都需要。”

答案的多样性让问题本身失去了意义,不过在追问的过程中可以洞见,Android手机很多被诟病的问题都是可以通过技术手段来解决的,而Android话语权的分散只是为这一过程平添了难度。

 

 

有些地方是不能动的

lbe张勇表示:“有能力在下面两层’动手脚’的厂商不多,小米魅族之类的整天在搞下两层,杂牌机基本上动不了,主要还是靠集成一些第三方的方案。”

不过锤子手机的软件研发工程师表示:“Google对使用Android基本没有限制,但是Linux核心层改完必须开源。另外,Linux一般是芯片厂商干的活,手机厂商的核心竞争力不在那。”

到目前为止,实际上“大刀阔斧”地修改系统运行层和Linux核心层的UI厂商并不多,如果一定要举个特别极端的例子的话,阿里云os应该是动作最大的一个,因为它把Android活生生改成了不是Android。众所周知,Java虚拟机的运用是Android的精髓,如果有人动了这里,看似“没有什么不允许”的Google可是很敏感的。

根据阿里云OS前开发人员的解析,“阿里云OS只是重写了dalvik(虚拟机),加上/换掉几个apk(比如launcher)以及服务而已,其他所有架构及模块(audio、display、video、power、usb、input、recovery、windowManager、ActivityManager等)都还是Android,而且一模一样。如果没有重写dalvik,云OS对Android的改动并没有比flyme和MIUI类似这些的多。”

这样的改动引发了Andy Rubin对阿里云OS的公开谴责,其中最有力的一点就是,“阿里云OS对Android的应用并不能完美兼容,这将有可能导致Android阵营的分裂。”总而言之就是一句,UI厂商再疯狂,如果想从Android生态系统中获利,必须遵循“所有应用生来平等”这一原则。

Android的最底层

根据赵力的描述,“一些关键元器件的驱动程序会动到Linux Kernel层,如相机、display、audio、keypad等。”在手机厂商在选择某个元器件时,芯片厂商会提供Reference Design,然后手机厂商会在此基础上做二次开发,这就是所谓的“调校”。

虽然听上去十分高深,但很多元器件的迭代周期相对较长,驱动方案也已非常成熟,所以“调校”的成本并不高。其中最能体现厂商优化能力的无非就是摄像头。说到这里,也许有人会提及最近“炙手可热”的高通骁龙810,可需要指出的是,手机厂商对CPU的要求是趋同的——高性能、低功耗、散热好,这和归属于“审美范畴”的摄像头不可同日而语。

即使是对厂商能力边界表示悲观的彭林也认为:“有一个特殊地方就是照片风格,Google允许厂商根据自己用的ISP、加进自己的白平衡算法,有厂商会去买个好的算法。所以这应该也算好优化的一个例子吧。”

当然,除了对驱动程序的编译以外,Android的最底层还提供了各种资源管理与软件机制保障。吴章金表示:“如果这部分出问题,通常可能会造成死机或者重启,这个恢复时间长,甚至要用户手动恢复,体验性非常糟糕。所以,事关稳定性、性能、功耗、温控甚至安全的最核心的改善都是优先从离硬件最接近的 BSP 做起,而 BSP 的优化又会发现硬件设计、结构设计或者是 APP 的缺陷。”

可以看出无论是Google、元器件供应商、还是手机厂商,在针对这些问题的优化上,很多时候都是技术水平和物理世界的抗衡,财力、人力、物力是唯一的解决方案。但对Android有所了解的人都知道,这个生态乱象的根本原因并没有那么纯粹,因为写到这里,我们还没谈到游戏的另一个重要参与者——应用开发者。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

双系统将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对双系统的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 双系统 Windows Linux

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

安装Linux操作系统并不复杂,下面是一个大致的步骤指南,以帮助您完成安装。1. 下载Linux发行版:首先,您需要从Linux发行版官方网站下载最新的ISO镜像文件。

关键字: Linux 操作系统 ISO镜像

计算机是由一堆硬件组成的,为了有限的控制这些硬件资源,于是就有了操作系统的产生,操作系统是软件子系统的一部分,是硬件基础上的第一层软件。

关键字: Linux 操作系统 计算机

Linux操作系统是一套免费使用和自由传播的类Unix操作系统,通常被称为GNU/Linux。它是由林纳斯·托瓦兹在1991年首次发布的,并基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Lin...

关键字: Linux 操作系统

所谓进程间通信就是在不同进程之间传播或交换信息,它是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息;还可以让一个程序能够在同一时间里处理许多用户的需求。

关键字: Linux 进程通信 编程接口

串口通信作为一种最传统的通信方式,在工业自动化、通讯、控制等领域得到广泛使用。

关键字: Linux 串口通信 通讯

2023年11月16日: MikroElektronika(MIKROE) ,作为一家通过提供基于成熟标准的创新式硬软件产品来大幅缩短开发时间的嵌入式解决方案公司,今天宣布推出一款基于单线设备的软硬件开源解决方案Cli...

关键字: 嵌入式 Linux 操作系统

Linux是一种免费使用和自由传播的类Unix操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布。它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CP...

关键字: Linux 操作系统
关闭
关闭