资料介绍
Android_Camera架构第七章 Android Camera 框架
7.1 总体介绍
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 机制通信, client 端通过调用 service 端的接口实现各个具体的功能。 需要注意的是真正的 preview 数据不会通过 Binder IPC 机制从 service 端复制到 client 端, 但 会通过回调函数与消息的机制将 preview 数据 buffer 的地址传到 client 端, 最终可在 JAVA AP 中操作处理这个 preview 数据。
7.2
client 端
从 JAVA AP 的角度看 camera ap 就是调用 FrameWork 层的 android.hardware.camera 类来实现 具体的功能。JAVA Ap 最终被打包成 APK。 FrameWork 层主要提供了 android.hardware.camera 类给应用层使用,这个类也是 JAVA 代码 实 现 。 Android.hardware.camera 类 通 过 JNI 调 用 native 代 码 实 现 具 体 的 功 能 。 Android.hardware.camera 类中提供了如下的一个参数类给应用层使用:
public cl