为什么说Android系统不适合物联网应用?

在应题之前,有必要先说说何谓“物联网”。

顾名思义,物联网相对于互联网所代表的计算机(包括服务器和PC终端)网络化而言,是对万物(非计算机)之间的组网连结。

两者最核心的差异在于互联网是人和人之间的联网,而物联网是物和物之间的联网,因此移动计算,比如手机、平板这类终端,也应归于互联网范畴。

Android系统,从出生那天起,就是为更好的操作移动通讯设备而设计的。

在其后的发展中,他不断的在多媒体方向和图形显示加速方面增强,比如更多的CPU核,更快的GPU,更高分辨率的Camera和LCD....

其目的在于提高人们播放高清视频、玩游戏、刷朋友圈、自拍、购物消费、出行导航.....等方面的体验和快感。

但对于物联网来说,这些机制和功能完全没有用处,因此将Android应用在物联网设备上最大的问题就是其过于臃肿。

以Android 4.4为例(当前最新版为7.0),以下几组数据可以作为参考:

  • Android的开发包中包含500多个git仓库,仅framework文件夹内的文件总量就高达6万个,总大小1.6GB。

  • 可供烧写的固件总大小超过500MB。

  • Android启动后,后台的进程总数超过100。

为什么说Android系统不适合物联网应用?_第1张图片

由于Android是一个开放系统,需要特别考虑对厂商APP的支持,并且对其安全问题大费周章,这些无疑都增加了Android系统的复杂性和冗余度。

从用户体验来说,用过Android手机的用户都有这样的体会和经历:Android系统越用越慢和必须定期重启以消除各种奇怪现象。

Android是为手机专门定制的一套系统,虽然他构建于Linux内核之上,但是他自身拥有庞大的HAL层用以消除不同硬件平台的差异。

因此,如果用户希望从APP中访问一些工控接口比如串口、IIC或CAN总线,那么将不得不自行编写HAL层和JNI与APP交互。

Android出于多种考虑,重写了C库和系统初始化启动过程,其配置非常繁琐。

用户将不得不依赖芯片厂商和服务公司提供这些配置和中间层驱动。

而大多数物联网硬件平台,不具备手机/平板这些平台的功能,比如没有LCD屏幕,使得Android无用武之地。

更多的硬件处理器连Linux都无法运行,惶论Android?

Android团队也非常了解这一事实,于2015年推出Android/Brillo。作为一款被阉割的微型Android,Java虚拟机也被裁剪。在Android上运行的APP不得不重写才能适应Brillo。这使得Brillo优势尽失,变成了一款食之无味,弃之可惜的鸡肋系统。

转载于:https://www.cnblogs.com/wuxianshi/p/6027022.html

你可能感兴趣的:(为什么说Android系统不适合物联网应用?)