- 博客(10)
- 收藏
- 关注
原创 binder相关类及成员函数介绍
1.1.1 IInterface类(1) 定义: class IInterface : public virtual RefBase{public: IInterface(); sp asBinder(); sp asBinder() const;
2017-04-19 21:18:28 582
原创 startPreview()调用细节分析三
前面章节我们介绍了startPreview()函数中ICamera对象mCamera的出处,这一章我们介绍前面提到的IBinder指针的由来.BnMediaRecorder的onTransact()函数是在哪被调用的呢?先看BpMediaRecorder的相关代码:class BpMediaRecorder: public BpInterface{public:
2017-04-19 21:12:20 1384
原创 startPreview()调用细节分析二
由之前的章节可知,Camera.cpp中的mCamera对象实际上是BpCamera的实例,因此,Camera类的startPreview()函数会调用BpCamera的startPreview()函数,如下:class BpCamera: public BpInterface{public: BpCamera(const sp& impl)
2017-04-19 21:09:54 1629
原创 startPreview()调用细节分析一
在开发相机预览功能时,App会调用Android API函数startPreview(),在Camera.java中定义:public native final void startPreview();这是个native函数,会直接调用jni层的函数,在android_hardware_Camera.cpp中定义:static void android_hardware_C
2017-04-19 21:07:47 5132
原创 CameraService初始化
CameraService运行在MediaServer进程,在MediaServer进程的入口函数main()中调用CameraService::instantiate()进行实例化,相关代码在main_mediaserver.cpp中.CameraService是BinderService的派生类,而instantiate()函数在BinderService中定义,如下:te
2017-04-19 21:04:50 1594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人