camera2中的CameraCharacteristics的原理
2017-03-17 10:51
309 查看
前言
在看Android中camera2的时候,忽然遇到一个camera的配置的数据类型,总是感觉好奇怪,这个东西比较简单但是如果不细看,貌似确实还是比较复杂,这里稍微解释下吧,并且发一篇博客正文
这个特奇怪,特别是关于数据结构,总是让人比较迷茫,搞得自己特难受,这里好好分析下,CameraCharacteristics这个仅仅是一个native的封装,里面封装了什么呢?我们很容易找到几个接口。public <T> T get(Key<T> key) { return mProperties.get(key); }
因为这个是对native的封装,我们应该知道这些参数都是从c++层上来的,所以里面的
set方法都是从底层设置的,这里我们不用关系,那么我们之关系这个
key是什么,这个东西看到源代码后,也是很简单的一个一个native的封装,我们很容易知道这个是一个泛型,在底层构造的时候,也传递一个类型,这里当然是对应一个cpp层的模板类,这里我还是不要找cpp代码,最近只要研究一下Java代码就好了,这里仅仅是可以创建几种类型,这里举几个例子,
public static final Key<Integer> LENS_FACING = new Key<Integer>("android.lens.facing", int.class); public static final Key<float[]> LENS_POSE_ROTATION = new Key<float[]>("android.lens.poseRotation", float[].class);
很简单对吧,其实这些东西,完全类似一个map,但是map对应的值只是一种特定的值,这里实现了两次封装后,我们可以通过一个特定的key找到唯一对应的一种特定类型的值,
后记
我去,这个竟然搞定了,有机会我在研究下底层的cpp代码,这里希望我有空完成吧,相关文章推荐
- Java对象池技术的原理及其实现
- 硬盘原理与IO吞吐量计算
- LVS-DR工作原理
- 数据库系统原理复习题(九)——综合练习(简答题)
- linux守护进程原理及创建详解
- Python简单抓取原理引出分布式爬虫
- ECC的原理
- APK安装过程及原理详解
- 点阵字库的显示原理
- 索引优先队列-IndexedPrirotyQueue的原理及实现(源码)
- HDR 拍照模式的原理,实现及应用
- 两种非比较排序的原理和实现(计数排序和基数排序)
- Android中handler机制的原理
- SDWebImage 原理及使用
- jQuery诞生记-原理与机制
- UI适配原理及通用解决方法实战
- apk加固原理之dex加密
- JAVA线程池原理详解二
- NAT的原理与类型