自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lyf's blog

知乎,https://www.zhihu.com/people/liuyf5231

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 android graphic(10)—activity申请surface流程

create new ActivitynewActivitysetContentViewhandleResumeActivityandroid中启动一个Activity的函数为handleLaunchActivity(), private void handleLaunchActivity(ActivityClientRecord r, Intent customIntent) { /

2016-02-26 17:07:51 3482

原创 android—调试命令service

在android中,可以利用service命令去做很多调试工作,例如service list命令显示系统当前所有在service manager注册的service,其命令具体使用如下,# serviceserviceUsage: service [-h|-?] service list service check SERVICE service cal

2016-02-23 15:21:57 3420

原创 android graphic(9)—开发者选项关闭HW overlays

setting相关代码 surface flinger处理1008 code 在开发者选项中,有许多关于图形的debug选项,今天研究之下,加深了对binder的使用。下面以关闭HW oveylays为例,也就是强制使用GLES去对图层进行合成,而不使用oveylays。 setting相关代码 首先分析上层setting中的代码,在packages\apps\Settings\src\com\

2016-02-22 17:18:07 6455

原创 android graphic(8)—surface申请GraphicBuffer过程

surface的dequeueBuffer函数 向BufferQueue申请内存 Surface去requestBuffer 本节分析surface向Buffer Queue申请GraphicBuffer的过程(这里的surface是native的surface,不是java中的),在此过程中还会涉及Flattenable对对象序列化,binder传递文件描述符等概念。surface的deque

2016-02-22 12:31:01 11082 1

原创 android graphic(7)—gralloc分配图形缓冲区

android中,HAL层的gralloc库负责了申请图形缓冲区的所有工作,HAL层之上的Surface、BufferQueue最终都是调用gralloc库去申请图形缓冲区,然后返回给上层一个buffer_handle_t的handle,这个handle的结构大致如下所示,typedef struct native_handle{ int version; /* sizeof

2016-02-20 11:02:48 4878 2

原创 android—匿名binder

前面的一篇文章《android—binder进程间通讯流程分析》 分析过,service一般都是需要先去service manager注册后,然后才能去使用。而匿名binder就是没有去service manager注册的service,既然没去注册,那么内核中就没有相应的binder_node和binder_ref结构,那么如何使用?下面以BufferQueue的mGraphicBufferAll

2016-02-19 12:38:27 6441

原创 android—如何添加一个系统服务

c中添加service java添加service前面分析过binder的实现流程,binder的实现包含了java和c++两部分,那么应该如何去添加一个service? c++中添加service下面以SurfaceComposer这个service为例, ① 首先提供接口文件ISurfaceComposer.h//frameworks\native\include\gui\ISurfaceC

2016-02-18 17:33:36 5929

原创 android—binder进程间通讯流程分析

进程 binder的c实现 service manager 注册service client 使用service binder是android的基础,是学习android的重中之重,理解binder的运行机制,对阅读和理解android framework源代码非常有帮助,关于如何学习binder,建议首先不要去关注binder内核驱动的实现,先学会上层如何去使用,在熟悉后再进一步结

2016-02-18 15:11:41 2378

原创 android进程间传递文件描述符原理

linux打开文件过程android binder传递文件描述符在linux中,进程打开一个文件,返回一个整数的文件描述符,然后就可以在这个文件描述符上对该文件进行操作。那么文件描述符和文件到底是什么关系?进程使用的是虚拟地址,不同进程间是地址隔离的,如何在两个进程中传递文件描述符,然后指向同一文件(binder传递文件描述符)?linux打开文件过程下图是linux内核中打开文件的结构体之间的关

2016-02-15 16:44:30 3791 1

达芬奇图像处理平台算法标准的实现

达芬奇图像处理平台算法标准 达芬奇平台简介 达芬奇算法标准的实现

2009-04-08

空空如也

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

TA关注的人

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