会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
qzhang1535
勤以修身,俭以养德
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2018年7月25日
Android 调试方法
摘要: 打印调用栈是android平台问题定位的基本方法,如果需要知道谁在调用某个函数, 可以在此函数中添加打印调用栈函数,弄清楚函数之间的调用关系。 1. Java层打印调用栈方法 RuntimeException here = new RuntimeException("here"); here.fil
阅读全文
posted @ 2018-07-25 16:33 qzhang1535
阅读(225)
评论(0)
推荐(0)
2018年7月24日
Android SurfaceFlinger服务(八) ----- 图像的输出
摘要: SurfaceFlinger合成后就进行图像的输出的工作。在图像输出时,存在硬件合成器与不存在的情况有些差别。软件合成时用到图像缓冲区生产者与消费者模型。首先来看看图像缓冲区的初始化。 调用BufferQueue::createBufferQueue创建图像缓冲区,并得到其生产者和消费者接口 利用上
阅读全文
posted @ 2018-07-24 11:36 qzhang1535
阅读(2528)
评论(0)
推荐(0)
2018年7月13日
Android SurfaceFlinger服务(七) ----- 图像的合成
摘要: android应用中申请的Surface在SurfaceFlinger服务中都有对应有图层Layer与之对应。将这些图层合并且输出到显示外设是SurfaceFlinger的工作重点。本文来分析下合成的过程。合成工作在接收到VSync消息(MessageQueue::REFRESH)后开始。 调用消息
阅读全文
posted @ 2018-07-13 15:50 qzhang1535
阅读(2745)
评论(0)
推荐(0)
2018年7月9日
Android SurfaceFlinger服务(六) ----- VSync信号的分发
摘要: HWComposer模块产生VSync信号后要经过分发才能送达到关心VSync事件的模块中去。VSync信号分发大致流程为HWComposer SurfaceFlinger DispSync DispSyncSource 各个具体模块。下面具体分析下这个流程。 在上一篇文章中分析到硬件或者软件VSy
阅读全文
posted @ 2018-07-09 18:00 qzhang1535
阅读(1010)
评论(1)
推荐(0)
2018年6月26日
Android SurfaceFlinger服务(五) ----- VSync信号的产生
摘要: Android为了增强界面流畅度引入了VSync机制。VSync信号一般由硬件产生,为了兼容一些老的机器,也可以软件产生。因些,就可以分为硬件VSync和软件VSync。VSync的生成逻辑主要在HWComposer里面。相关文件如下: frameworks/native/services/surf
阅读全文
posted @ 2018-06-26 11:57 qzhang1535
阅读(1339)
评论(0)
推荐(0)
2018年6月20日
Android SurfaceFlinger服务(四) ----- 消息机制MessageQueue
摘要: SurfaceFlinger有着自己的消息队列MessageQueue,用来处理显示相关的消息,比如Vsync消息。 相关文件: frameworks/native/services/surfaceflinger/MessageQueue.h frameworks/native/services/s
阅读全文
posted @ 2018-06-20 16:56 qzhang1535
阅读(1342)
评论(0)
推荐(0)
2018年4月23日
Android SurfaceFlinger服务(三) ----- 本地图层Layer创建
摘要: 在上一篇文章中,主要分析了Surface的创建过程,对于Layer图层的创建并没有深入跟踪分析。这篇文章将分析Layer图层的创建,并分析handle gbp这两个变量的来源。 在SurfaceFlinger中会根据flags的值创建不同的layer。这里主要以创建普通layer为例进行分析。 创建
阅读全文
posted @ 2018-04-23 17:11 qzhang1535
阅读(1255)
评论(0)
推荐(0)
2018年3月31日
Android SurfaceFlinger服务(二) ----- 本地Surface创建
摘要: Android显示系统层次分析 应用层,app从WindowManager服务获取图层,渲染图层 WindowManager管理层,主要管理APP渲染的图层,调用SurfaceFlinger服务, 创建Surface,并将Surface传递给应用 SurfaceFlinger层,对上层负责Surfa
阅读全文
posted @ 2018-03-31 17:51 qzhang1535
阅读(1574)
评论(0)
推荐(0)
2018年3月27日
Android SurfaceFlinger服务(一) ----- BufferQueue分析
摘要: 生产者和消费者模型是编程中运用比较广泛的模型。在SurfaceFlinger图像绘制、合成、显示也用到了该模型。利用该模型合理的管理图像缓冲区buffer。让整个android系统从绘制到显示的过程有条不紊的进行。 BufferQueue图像缓冲管理者。其成员函数createBufferQueue创
阅读全文
posted @ 2018-03-27 15:25 qzhang1535
阅读(2098)
评论(0)
推荐(0)
Android Binder机制(四) ------- 客户端分析
摘要: 客户端首先通过defaultServiceManager获得IServiceManager接口。然后调用IServiceManager的getSerivice接口得到服务的IBInder接口,该接口指向一个BpBinder实体对象。但是问题是我们通过IBInder接口无法调用到我们的服务,还必须经过
阅读全文
posted @ 2018-03-27 10:20 qzhang1535
阅读(396)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告