1.前言
在12.0的系统ROM定制化开发功能中,在对Camera2的产品进行定制化的时候,在camera2的设置页面,总是会发现在预览
分辨率的列表中,有的产品不是按照分辨率的大小来进行排序显示的,所以就需要了解显示流程,然后按顺序排序来实现
功能,接下来实现相关功能
2.Camera 分辨率从高到低排列功能实现的核心类
packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.javapackages/apps/Camera2/src/com/android/camera/settings/CameraSettingsActivity.java
3.Camera 分辨率从高到低排列功能实现的核心功能分析和实现
Camera API中主要涉及以下几个关键类
CameraManager:相机的实际管理者,调用相机API来操作相机,进行拍照和录像等操作。
CameraActivity:相机界面,主要用来实现UI的定制,实际功能(点击事件)交由CameraFragment完成。
CameraFragment:向CameraActivity提供功能接口,完成CameraActivity里的点击事件,例如:拍照、录像等。
Camera:操作和管理相机资源,支持相机资源切换,设置预览和拍摄尺寸,设置光圈、曝光等相关参数。
SurfaceView:用于绘制相机预览图像,提供实时预览的图像。
SurfaceHolder:用于控制Surface的一个抽象接口,