要比较嵌入式与安卓,首先要了解:什么是嵌入式?什么是安卓?
嵌入式是指:嵌入式到受控器件内部的,专用的计算机系统,软硬件可剪裁,在功耗,体积,成本,可靠性,等方面有严格的要求。
安卓是指:以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导。
可以从以下几点进行分析:
1、从定义上讲:
两者都是计算机系统,但专注作用领域却不同:安卓主要用于移动手持设备,主要用于人机交互,也就是终端。更注重的是软件以及用户的交互体验。直白的讲,安卓就是软件和人打交道。而嵌入式,更注重于软件对于硬件的控制,对整个硬件的功能,效率,功耗,安全性,可靠性,等有特殊的要求,甚至使用的环境可能很恶劣,工作的硬件资源可能很有限,等等。直白的将嵌入式就是软件和硬件打交道。
因此,安卓和嵌入式,他们专注的对象不同,也就决定了,安卓开发,主要就是人机交互,有图形界面,有操作面板,大部分为软件开发。而嵌入式开发,主要是与硬件打交道,要求开发者去了解硬件,甚至是了解硬件的工作原理,让硬件变得有智慧,又或者让硬件完成我们人类无法胜任的工作。
2、从编程的逻辑性上讲:
安卓主要是软件编程,与硬件关系不大,在Linux为内核基础上,运行的一个图形界面系统,主要为面向对象编程。而嵌入式编程则更贴近硬件底层,不同的硬件将导致软件的相应的变化,主要为面向过程。一般嵌入式系统为嵌入式Linux系统,由正常的Linux系统上裁剪而来,有的嵌入式系统对实时性要求高而运行RTOS系统,如UCOS、Free RTOS等,而有的嵌入式产品甚至受成本、功耗、可靠性等的限制,甚至没有操作系统,因此要求嵌入式开发人员具备知识面要更广一些。
3、从使用面上讲:
嵌入式的使用面相比于安卓要更广泛一些。安卓大部分为应用软件,主要为用户交互界面,大多为手持设备。嵌入式则不仅应用在人机交互,所有需要底层硬件支持的微小型设备,基本都离不开嵌入式,他们或有系统,或没有系统,都需要驱动硬件,控制硬件。因此不仅应用于手持设备更广泛应用于军事、医疗、化工、智能仪表、智能家居、航空航天、消费类电子产品等。
综上所述:在有嵌入式基础而有感兴趣的话推荐从事嵌入式。不仅是因为嵌入式使用广泛,而是因为他是基础,就如同文字一样,不论社会如何进步,文字始终具有无法替代的位置。