在上一篇文章中,主要分析了Surface的创建过程,对于Layer图层的创建并没有深入跟踪分析。这篇文章将分析Layer图层的创建,并分析handle gbp这两个变量的来源。 在SurfaceFlinger中会根据flags的值创建不同的layer。这里主要以创建普通layer为例进行分析。 创建 ...
分类:
移动开发 时间:
2018-04-23 18:44:21
阅读次数:
882
生产者和消费者模型是编程中运用比较广泛的模型。在SurfaceFlinger图像绘制、合成、显示也用到了该模型。利用该模型合理的管理图像缓冲区buffer。让整个android系统从绘制到显示的过程有条不紊的进行。 BufferQueue图像缓冲管理者。其成员函数createBufferQueue创 ...
分类:
移动开发 时间:
2018-03-27 16:46:31
阅读次数:
1295
一:简单介绍 systrace 是 Android4.1 引入的一套用于做性能分析的工具。 基于 Linux 内核的 ftrace 机制(用于跟踪 Linux 内核的函数调用), 能够输出各个线程当前的函数调用状态。 它可帮助开发人员收集 Android 关键子系统(如 surfaceflinger ...
分类:
移动开发 时间:
2018-02-20 10:37:53
阅读次数:
366
AudioFlinger为上层提供访问和管理音频的接口,同时通过hal来管理音频设备。
AudioFlinger服务的启动:
audiopolicyservice是策略的制定者,如什么时候打开音频接口...
分类:
移动开发 时间:
2017-11-16 14:29:48
阅读次数:
247
众所周知,有一个程序screencap可以截屏,这个程序十分简单,只是使用了surfaceflinger服务的截屏功能。 所以要了解截屏,看surfaceflinger服务的代码是不二首选。但是surfaceflinger也随android系统显示子系统的变更而变更,网上最容易搜到的android资 ...
分类:
其他好文 时间:
2017-11-13 21:21:48
阅读次数:
300
让Android融入我的生活! 写Android一段时间了,每次看到网上一些大牛的博客。分析Android底层Zygote启动、Activity启动、View的绘制过程、SurfaceFlinger、AudioFlinger、Binder IPC、内存管理、Dalvik等等各种深入的东西,都很敬仰, ...
分类:
移动开发 时间:
2017-07-24 19:41:01
阅读次数:
190
1 Android应用图层 一直觉得有关DecorView还是有些问题没有搞清楚,今天在看了一点有关SurfaceFlinger的内容以后,顿时突发奇想,想到之前的问题,之前的思考是: 虽然可以将DecorView作为Activity布局的父View,也就是只存在 DecorView >Activi ...
分类:
移动开发 时间:
2017-05-10 12:56:05
阅读次数:
343
结合别人的博客和自己看的代码,梳理下自己对surface的理解1.代码相关文件/AOSP/frameworks/native/libs/ui主要是bufferqueuecore与surfaceflinger中分配/AOSP/frameworks/native/libs/guiAndroid.mkIGraphicBufferAlloc.cpp
BitTube.cppIGraphicBufferConsumer.cpp
BufferItem..
分类:
移动开发 时间:
2016-10-22 21:35:34
阅读次数:
608
最近需要去分析一下Surfaceflinger工作机制,记录一下相关的文档和主要的处理函数。 ...
分类:
其他好文 时间:
2016-09-14 19:01:29
阅读次数:
267
9.Vsync第二部分 在上一篇中我们讲到,视图的刷新需要很多步骤, 本文将继续分析这些过程。 9.1 handlerMessageInvalidate invalidate 字面意思就是使无效,更进一步就是当前的buffer已经无限,请刷新界面。 啥也没干,buffer已经无效,我换下一个,就是h ...
分类:
移动开发 时间:
2016-06-30 23:22:02
阅读次数:
386