(2)Camera框架 --- 窥一斑而见全豹
来源:互联网 发布:举牌照软件下载 编辑:程序博客网 时间:2024/05/16 14:25
了解Android的Camera框架(framework)的目的?
(1) 与管理Activity及Window的框架相比,Camera框架比较比较直观,也比较简单。
(2) 理解Camera框架,有助于理解Activity,Window等的管理框架。上一节已经提到,各个子系统,习惯与构建手法是雷同的
(3) 这些子系统框架中的基础设施,构建思想很少受版本更新的变化而变化。否则,学习效果就大打折扣了。
(4) 有助于解决Android系统Camera系统出的问题。
往昔要点回顾
(1) 操作系统的管理核心,资源的维护及中断响应等等都以任务为中心。
(2) 进程可以作为理解Android框架的出发点.
(3) Android所有的服务,都存在于特定进程中。一个进程可以包含及提供多种服务.
参看图(1) 进程中的多个服务
图(1) 多个服务共存于同一个进程
(4) Binder服务,既可以向服务管理器注册唯一的标识名,向客户提供公开服务,也可以不向服务管理器注册,从而提供匿名服务。
(5) 匿名服务只能通过公开的服务接口得到。
(6) Android中,系统客户应用,可以通过Binder接口获得服务
(7) Android代码分析中,反复实践是非常重要的。参看图(2),Makefile文件的路标指示作用
图(2) 代码实践---Makefile文件
Camera 框架要点
(1) Binder结构,见”Android集萃系列--基础”
(2) JNI函数使用中的常见层次结构,参见图(3) JNI的层次与图(4)JNI的使用。
(a) Java App à JNI à Libraries à Abstract layer
(b) Java App à JNI à Libraries à C Service à Abstract Layer
(c) Java App à Java Service à JNI à Libraries à C Service à Abstract Layer
图(3) JNI的层次
图(4) JNI库的注册与使用
(3) Android 4.0 Camera的架构
图(5) Camera的架构
Camera 框架的时序
(1) Camera服务的注册,参看图 (6)
图(6) Camera服务的注册
(2) Camera客户端应用程序,使用框架及API. 参看图 (7)
图(7) Camera框架及API的使用
(3) 客户端透过JNI, 使用Binder接口访问服务, 参看图(8)
图(8) 访问Camera服务
(4) 客户端使用Camera服务的公开接口,获得匿名服务的代理
图(9)获得Camera服务的匿名服务
(5) 客户端与服务端建立双向通道的接口
图(10) 客户端与服务端的接口
总结
(1) 时刻留意,软件模块所处的层次
(2) 掌握核心的数据结构与接口,它们是软件系统的骨架
(3) 下一步做什么?
以Camera骨架为出发点,对Camera子系统进一步细化。
例如,分析某个用户的请求从上到下如何传递?
或者尝试回答Binder可以在线程间使用吗?等等…
(4) 了解培养一种解决问题的”习惯”,Client的管理,请求与响应等等。这种习惯,
不仅仅存在于Camera,在Activity, Window等等子系统中都会看到。实际上
它无处不见,甚至在kernel中也随处可见。
(5) 再仔细观察一下,我们分析代码后,得到的结果。参看图(11) Camera结构
图(11) Android Camera结构略图
- (2)Camera框架 --- 窥一斑而见全豹
- 中国市场只是全豹一斑 来看看诺基亚在全球的颓势(诺基亚的悲剧可说是从其死守塞班系统开始的)
- 谥号一斑
- Android4.2 Camera V2.0 框架图
- 管中窥豹,一斑绝非一般
- Android Camera框架
- Android之 Camera 框架
- Android Camera框架
- Android Camera框架分析
- 一 Android Camera框架
- MTK之camera框架
- camera-HAL框架
- Camera框架简介
- Android Camera框架
- Camera Service Binder框架
- camera框架简介
- Camera框架初识
- Camera框架初探
- uva 10168 summation of four primes
- Galaxy Note Developer Talk - 非笔寻常
- Android学习优秀开源项目网址
- Cisco CCNP课程
- WP7基本技巧 新手必看
- (2)Camera框架 --- 窥一斑而见全豹
- jquery小结
- 删除Linux后如何找回Windows启动菜单
- Linux驱动编程 step-by-step
- 思科认证:让黑客远离DNS和SMTP攻击
- 写几个带继承关系的类,使用直接强转的方式,以及使用as转换, 并且练习is的类型判断
- 全面认识Android手机(MIUI ROM适配之旅第二天——准备工作)
- 淘宝现“职业追评人” 恶意追评为了“讨”个三五百
- 编写strcpy函数