Android架构

Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。
Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。

android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
蓝色的代表java程序,黄色的代码为运行JAVA程序而实现的虚拟机,绿色部分为C/C++语言编写的程序库,红色的代码内核(linux内核+driver)。在Application Framework之下,由C/C++的程序库组成,通过JNI完成从JAVA到C的调用。

  Android平台提供了四个不同的Java组件编程接口:Camera、MediaRecorder、MediaPlayer和Surface。这四个编程接口,几乎可以实现Android系统所有多媒体功能。

媒体部分:
        Android.Hardware.Camera:该Java类提供了对摄像机操作的编程接口。
        Android.Media.MediaRecorder:该Java类提供了在Android的界面上,Audio和Video两个应用程序都是调用MediaRecorder实现的。
        Android.Media.MediaPlayer:该Java类提供了在Android的界面上播放Audio和Video两个应用程序的编程接口。
        Android.View.Surface:被screen compositor管理的raw buffer句柄。

openMAX

这些层级之间可以相互组合实现,也可以单独实现某个层级,比如对于有些芯片厂商来说,他完全可以自己实现一套编解码硬件,然后在此基础上实现OpenMAX的IL层,这样使得基于该厂商硬件以及相关中间件开发的应用程序可以很快的移植到其它符合OpenMAX IL的软硬件设备上,同时其它平台的多媒体应用也可以无缝移植到该厂商的软硬件平台上面,而我们嵌入式软件岗在实际开发当中往往会去实现一个独立的OpenMAX IL层来承接编解码器与应用开发的桥梁。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值