找回密码
 注册
搜索
查看: 2414|回复: 2

[资料] Android Camera数据流完整分析(一)

[复制链接]
发表于 2013-7-8 18:07:37 | 显示全部楼层 |阅读模式
之前已经有很多文章一直在讲述Android Camera,这里也算是进行以下总结

我们依旧从camera 的打开开始,逐步看看camera的数据流向,内存分配,首先打开camera的第一步,实例化camera类,onCreate被调用,在这个方法中到底做了些什么事情,也在这里做一下总结:

1.实例化FocusManager

2.开启一个CameraOpenThread用于打开camera的全部过程,mCameraOpenThread.start();

3.实例化PreferenceInflater,初始化一些参数

4.实例化TouchManager

5.实例化RotateDialogController等等等

重点是下面几行代码,之前已经不止一次提到,不在多说了


[html]
// don't set mSurfaceHolder here. We have it set ONLY within
// surfaceChanged / surfaceDestroyed, other parts of the code
// assume that when it is set, the surface is also set.
SurfaceView preview = (SurfaceView) findViewById(R.id.camera_preview);
SurfaceHolder holder = preview.getHolder();
holder.addCallback(this);

        // don't set mSurfaceHolder here. We have it set ONLY within
        // surfaceChanged / surfaceDestroyed, other parts of the code
        // assume that when it is set, the surface is also set.
        SurfaceView preview = (SurfaceView) findViewById(R.id.camera_preview);
        SurfaceHolder holder = preview.getHolder();
        holder.addCallback(this);另外这个方法中,还开启了一个startPreviewThread用于开始preview过程,初始化完成之后就开启preview功能


[html]
Thread mCameraPreviewThread = new Thread(new Runnable() {
    public void run() {
        initializeCapabilities();
        startPreview(true);
    }
});

    Thread mCameraPreviewThread = new Thread(new Runnable() {
        public void run() {
            initializeCapabilities();
            startPreview(true);
        }
    });这个线程进行初始化之后就调用了app层的startPreview方法,这里开始了万里长征的第一步
发表于 2014-2-9 21:34:01 | 显示全部楼层
没有资料讲解讲解的吗?
点评回复

使用道具 举报

发表于 2014-5-2 01:02:44 | 显示全部楼层
谁哪里有关于camare方面的各管教时序图什么的!!
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-26 12:06 , Processed in 0.058959 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表