资料介绍
android_camera介绍Android Camera 框架介绍
一 ,总体介绍 Android Camera 框架从整体上看是一个 client/service 的架构, 有两个进程:一个是 client 进程, 可以看成是 AP 端,主要包括 JAVA 代码与一些 native c/c++代码. 另一个是 service 进 程,属于服务端,是 native c/c++代码, 主要负责和 linux kernel 中的 camera driver 交互, 搜 集 linux kernel 中 camera driver 传上来的数据,并交给显示系统(surface)显示. client 进程 与 service 进程 通过 Binder IPC 机制通信, client 端通过调用 service 端的接口实现各个具 体的功能.需要注意的是真正的 preview 数据不会通过 Binder IPC 机制从 service 端复制到 client 端,但会通过回调函数与内存映射的机制将 preview 数据 buffer 的地址传到 client 端, 最终可在 JAVA AP 中操作处理这个 preview 数据. 二 ,client 端的具体内容 1, 应用层的 JAVA AP,这个就是 Camera Ap 开发者主要实现的地方. 从 AP 的角度看就是调 用 FrameWork 层的 android.hardware.camera 类来实现具体的功能. JAVA Ap 最终被打包 成 APK. Android 自带的 camera Ap 在 packages/apps/Camera 目录下.
2, FrameWork 层主要提供了 android.hardware.camera 类 给应用层使用, 这个类也是 JAVA 代码实现. android.hardware.camera 类 通过 J