自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 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 5093

原创 startPreview()调用细节分析二

由之前的章节可知,Camera.cpp中的mCamera对象实际上是BpCamera的实例,因此,Camera类的startPreview()函数会调用BpCamera的startPreview()函数,如下:class BpCamera: public BpInterface{public:    BpCamera(const sp& impl)

2017-04-19 21:09:54 1607

原创 binder通信实例之java客户端与c++服务端

待续

2017-04-19 21:28:36 1588

原创 CameraService初始化

CameraService运行在MediaServer进程,在MediaServer进程的入口函数main()中调用CameraService::instantiate()进行实例化,相关代码在main_mediaserver.cpp中.CameraService是BinderService的派生类,而instantiate()函数在BinderService中定义,如下:te

2017-04-19 21:04:50 1571

原创 startPreview()调用细节分析三

前面章节我们介绍了startPreview()函数中ICamera对象mCamera的出处,这一章我们介绍前面提到的IBinder指针的由来.BnMediaRecorder的onTransact()函数是在哪被调用的呢?先看BpMediaRecorder的相关代码:class BpMediaRecorder: public BpInterface{public:   

2017-04-19 21:12:20 1360

原创 binder通信实例之c++客户端与c++服务端

待续

2017-04-19 21:29:20 602

原创 binder相关类及成员函数介绍

1.1.1 IInterface类(1) 定义: class IInterface : public virtual RefBase{public:            IInterface();            sp         asBinder();            sp   asBinder() const;            

2017-04-19 21:18:28 563

原创 binder通信实例之java客户端与java服务端

待续

2017-04-19 21:27:47 402

原创 camera框架简介

Camera CameraService CameraService::Client CameraClient

2017-04-19 21:03:45 291

原创 binder通信机制概述

待续

2017-04-19 21:25:22 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除