Android Camera Subsystem 架构(Binder机制)及显示分析(1)
来源:互联网 发布:电信4g的网络制式 编辑:程序博客网 时间:2024/05/22 12:10
1 Camera Architecture (Binder机制应用)该部分主要借助Camera Subsystem分享自己对binder的理解。对该部分的阅读不需要太多对Camera子系统的了解,结合大体类图,顺着我的思路也可以学习binder设计思想。通过我个人的一个思考路线,来阐述如何将binder通信机制嵌入到一个Subsystem中。通过这部分的启发,可以帮助大家应用binder通信机制,可以为Android Framwork开发更多的服务。也希望大家在阅读的时候,给我一些指导,同时帮助我更深的理解Android。大家看到的结构图和类图,我会尽快更新,因为这两个图是我大概在三个月之前刚接触项目,大概浏览下源码简单了解结构之后画的,大体方向没有错误,但是缺少一些细节,最近工作比较忙,没来的及更新。项目release之后我会添加详细结构图及类图。
2 Camera Display该部分主要是结合自己对Camera Subsystem中涉及的Display的一个分析,帮助大家尽快理解Camera Subsystem。对这块的理解需要一些Android基础知识和Camera Subsystem源码基础。代码可能和你看到的源码不是很一样,因为已经是修改过的,包括Capture和Recording都可以很健壮的运行,而且已经过严格测试。
1、Camera Architecture
(1)Camera Architecture
(2)Camera File
(3)Camera Framework
上面的类图只是一个简单的继承关系,并没有体现出很多细节,只供大家参考。ICamera、ICameraClient、ICameraServices三个类是按照Binder IPC要求的框架实现的。类Camera与CameraService端通过Binder IPC机制来实现具体的功能。 Camera类通过getCameraService()向ServiceManager发出请求,得到了一个名字为“media.camera”的CameraService实例。 通过调用CameraService提供的接口connect()在CameraService端new一个CameraService::Client类的对象mClient,通过connect将该对对象返回给Camera Client端 。随后Camera通过这个sp mCamera对象调用函数就如同直接调用CameraService::Client类的函数。 CameraService::Client 在CameraService内部真正处理由Camera Client发往Camera Service的请求和由 Camera HAL返回的数据及notify信息。其中之前的callback函数和Camera HAL都以成员变量的形式存在于 class Client。
文章转自:http://blog.csdn.net/myzhzygh/article/details/6622419
- Android Camera Subsystem 架构(Binder机制)及显示分析
- Android Camera Subsystem 架构(Binder机制)及显示分析
- Android Camera Subsystem 架构(Binder机制)及显示分析
- Android Camera Subsystem 架构(Binder机制)及显示分析
- Android Camera Subsystem 架构(Binder机制)及显示分析(1)
- Android Camera Subsystem 架构(Binder机制)及显示分析(2)
- Android Camera Subsystem 架构(Binder机制)及显示分析(3)
- Android Camera Subsystem 架构(Binder机制)及显示分析(3) .
- Android Binder机制(1):Binder架构分析
- Android binder机制(1)
- 实例分析android中的Binder通信机制(1)
- Binder机制分析(1)——Binder结构简介
- Binder机制分析(1)——Binder结构简介
- Binder机制分析(1)——Binder结构简介
- Android Camera Subsystem - startPreview
- Android Binder机制分析
- Android Binder机制分析
- Android binder机制之 1 --(我是binder)
- windowsxp IIS FTP服务器架设
- cxPopupEdit如何调用其它Form中的Control并正确返回值
- STDIN_FILENO的作用及与stdin 的区别
- AS2.0下的ToolTips(工具提示)
- Oracle OAF 中用到的日期转换绝招
- Android Camera Subsystem 架构(Binder机制)及显示分析(1)
- 导航栏,标签栏,工具栏和状态栏
- C#自定义PropertyGrid属性
- Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope 问题
- RS.OPEN 游标 独占 方式
- 园子里的风声
- java_接口 Lock
- php循环删除目录和文件函数
- 19祭