Android 的Camera 架构 一 Android Camera 框架 要了解Android Camera 架构,还是得先从Android 本身的架构说起
图1 Android Architectu re 从Android 框架看,分为四层:应用层、应用框架层、库层、内核层
应用层主要工作在 Android SDK 之上,利用Android 提供的API 进行开发,生成 APK包
应用框架层整合了Android 自带各种控件和类,为应用开发提供高效、方便的API 接口
这个对上实现统一的接口,对下也提供统一的标准方便各种库的移入
库层是Android 与底层硬件通信接口,它封装底层硬件接口实现该模块的具体逻辑,并以服务的形式通过 Binder 通讯机制暴露给应用框架
内核层则是直接与硬件联系的一层,可以理解为设备驱动
通过对上面框架的简要说明,我们大致明白一个应用自上而下的各个层起什么作用,这样有助于我们对代码的理解和修改
如果要做基于 Android porting 工作,就要明白在哪个层次的porting,怎么 porting
Android 的Camera 包含取景器(view finder)和拍摄照片(take picture)的功能
目前Android 原生的Camera 程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在 Android 的进程间通讯 Binder 的结构上
Android 中的Camera 模块同样遵循 Android 的框架,如下图所示
图 2 Camera Architecture 二 Android Camera 架构分层及代码结构 以开源的 Android 为例,Camera 架构主要分为以下几个层次 2
1 应用层 Camera 的 JAVA 应用程序的路径: packages/apps