- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android_Camera架构分析
Android的Camera架构一 Android Camera框架要了解Android Camera架构,还是得先从Android本身的架构说起。图1 Android Architecture从Android框架看,分为四层:应用层、应用框架层、库层、内核层。应用层主要工作在Android SDK之上,利用Android 提供的API进行开发,生成APK包。应用框架层整合了Android自带各种控件和类,为应用开发提供高效、方便的API接口。这个对上实现统一的接口,对下也提供统一的标准方便各种库的移入。库层是Android与底层硬件通信接口,它封装底层硬件接口实现该模块的具体逻辑,并以服务的形式通过Binder通讯机制暴露给应用框架。内核层则是直接与硬件联系的一层,可以理解为设备驱动。通过对上面框架的简要说明,我们大致明白一个应用自上而下的各个层起什么作用,这样有助于我们对代码的理解和修改。如果要做基于Android porting工作,就要明白在哪个层次的porting,怎么porting。Android的Camera包含取景器(viewfinder)和拍摄照片(take picture)的功能。目前Android原生的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。Android中的Camera模块同样遵循Android的框架,如下图所示。图2 Camera Architecture二 Android Camera架构分层及代码结构 以开源的 Android 为例,Camera 架构主要分为以下几个层次2.1应用层Camera 的 JAVA应用程序的路径:packages/apps/Camera/src/com/android/camera/在其中Camera.java是主要实现的文件2.2 JNI层(Camera 的 JAVA 本地调用部分):frameworks/base/core/java/android/hardware/Camera.java这个类是和JNI中定义的类是同一个,有些native方法通过JNI的方式调用Native代码实现具体的功能,比如startPreview、autoFocus、takePicture等。2.3 Camera client层:头文件分布以下的目录中:frameworks/base/include/camera/Camera底层库在以下的目录中:frameworks/base/libs/camera/这部分的内容被编译成库 libcamera_client.so(或者libui.so),主要实现了以下几个类:Camera----Camera.cpp/Camera.hCameraParameters----CameraParameters.cpp/CameraParameters.hICamera---- ICamera.cpp/ ICamera.hICameraClient---- ICameraClient.cpp/ ICameraClient.hICameraService---- ICameraService.cpp/ ICameraService.hICamera、ICameraClient、ICameraServide三个类是按照Binder IPC通信要求的框架实现的, 用来与service端通信。类CameraParameters接收Framework层的android.hardware.camera::Parameters类为参数, 解析与格式化所有的参数配置。Camera是个很重要的类,它与Camera Service端通过Binder IPC机制交互来实现具体功能。Cametra继承自BnCameraClient,并最终继承自ICameraClient.2.4 Camera Service层文件分布在frameworks/base/camera/libcameraservice/这部分内容被编译成库libcameraservice.so, libcameraservice.so是Camera的服务器程序,它通过继承libcamera_client.so的类实现服务器的功能,并且与libcamera_client.so中的另外一部分内容则通过进程间通讯(即Binder机制)的方式进行通讯。里面主要实现了两个类:CameraService----BnCameraService----ICameraServiceCameraService::Client----BnCamera----ICameraCameraService::Client通过调用Camera HAL层来实现具体
您可能关注的文档
- ACA值在在聚散功能异常诊断中的应用.doc
- ACARS系统使用教材.ppt
- Active Data Guard和GoldenGate对比.pptx
- ADK品牌经营模式.ppt
- ADHS-cc型燃煤催化剂.ppt
- ADL-Barthel指数.ppt
- Adrenocorticosteroids - SCU:.ppt
- Advance in Intrusion Detection Technique--浏览.ppt
- Advertising_广告介绍英语.ppt
- AFDX简介.ppt
- 重庆市县(新版)2024小学语文统编版(五四制)小升初考试(综合卷)完整试卷(含答案).docx
- 辽宁省铁岭市(新版)2024小学语文统编版小升初核心能力评测(预测卷)完整试卷(含答案).docx
- 重庆市县(新版)2024小学语文部编版小升初真题(巩固卷)完整试卷(含答案).docx
- 陕西省安康市(新版)2024小学语文统编版(五四制)小升初质量检测(综合卷)完整试卷(含答案).docx
- 重庆市市辖区(新版)2024小学语文统编版小升初质量检测(提分卷)完整试卷(含答案).docx
- 辽宁省阜新市(新版)2024小学语文苏教版小升初真题(巩固卷)完整试卷(含答案).docx
- 辽宁省铁岭市(新版)2024小学语文部编版小升初核心能力评测(评估卷)完整试卷(含答案).docx
- 辽宁省鞍山市(新版)2024小学语文苏教版小升初核心能力评测(预测卷)完整试卷(含答案).docx
- 辽宁省阜新市(新版)2024小学语文统编版小升初模拟(提分卷)完整试卷(含答案).docx
- 辽宁省锦州市(新版)2024小学语文统编版小升初真题(综合卷)完整试卷(含答案).docx
最近下载
- 办公用品订购合同范本.docx VIP
- WORD版本刻度尺-A4纸打印可用.doc
- 90nm逻辑产品Peeling缺陷的解决方案.pdf
- 神经系统的分级调节.pptx VIP
- 中建施工总平面布置图设计(69页).pdf
- 2024年公共卫生与预防医学继续教育平台“大学习”活动线上培训栏目考试题库(1392题).docx
- 北师大版(2023)必修第一册 Unit 2 Sports and Fitness单元教学设计.pdf VIP
- 2016-2023年长沙民政职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析.docx
- 农业经济学-农业资金.ppt VIP
- 齐鲁医学神经系统疾病的辅助检查.ppt VIP
文档评论(0)