Android的Camera架构介绍

本文介绍了Android Camera架构,包括客户端和服务端两大部分,并详细解释了Camera程序的主要组成及各部分的功能实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android的Camera架构介绍

第一部分 Camera 概述
   Android 的 Camera 包含 取景器( viewfinder )和拍摄照片的功能。目前 Android 发布版的 Camera 程序虽然功能比较简单,但是其程序的架构分成客户端和服务器 两个部分,它们建立在 Android 的进程间通讯 Binder 的结构上。

    以开源的 Android 为例 Camera 的代码主要在以下的目录中:

Camera JAVA 程序的路径:
packages/apps/Camera/src/com/android/camera/
在其中Camera.java是主要实现的文件

frameworks/base/core/java/android/hardware/Camera.java
这个类是和JNI中定义的类是一个,有些方法通过JNI的方式调用本地代码得到,有些方法自己实现。


Camera JAVA 本地调用部分( JNI ):
frameworks/base/core/jni/android_hardware_Camera.cpp

这部分内容编译成为目标是 libandroid_runtime.so

主要的头文件在以下的目录中:
frameworks/base/include/ui/

Camera 底层库在以下的目录中:
frameworks/base/libs/ui/
这部分的内容被编译成库 libui.so

Camera 服务部分:
frameworks/base/camera/libcameraservice/
这部分内容被编译成库 libcameraservice.so


    为了实现一个具体功能的Camera,在最底层还需要一个硬件相关的Camer库(例如通过调用video for linux驱动 程序和Jpeg编码程序实现)。这个库将被Camera的服务库 libcameraservice.so 调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值