esli's Blog

day day up


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

GUI系统之SurfaceFlinger之VSYNC信号的产生和处理(二)

发表于 2018-06-04 | 分类于 AOSP | 阅读次数:
SurfaceFlinger中VSYNC信号的控制同步 SurfaceFlinger(简称SF)的绘制合成过程是在VSYNC信号(即垂直同步信号)的控制下同步进行的,所以VSYNC信号可以说是SF的指挥官,它的协调同步控制对于界面绘制效率至关重要。本篇将介绍VYSNC信号在SF服务中是如何发挥这个 ...
阅读全文 »

GUI系统之SurfaceFlinger HAL层(一)

发表于 2018-06-03 | 分类于 AOSP | 阅读次数:
SurfaceFlinger是GUI系统的核心,本篇将以自底向上的方式对其展开介绍。 硬件层面 Linux 内核提供了统一的famebuffer显示驱动,设备节点/dev/graphics/fb* 或者 /dev/fb*,fb0是第一个显示屏。 HAL层面 HAL即硬件抽象层,Android的各 ...
阅读全文 »

GUI系统之SurfaceFlinger启动过程分析

发表于 2018-05-30 | 分类于 AOSP | 阅读次数:
surfaceFlinger 在init.rc中是作为一个service存在的它声明如下 12345service surfaceflinger /system/bin/surfaceflinger class main user system group graphics drm ...
阅读全文 »

Retrofit源码分析

发表于 2018-05-21 | 分类于 Android Library | 阅读次数:
Retrofit源码分析 基于Retrofit2.1.的源码分析,Retrofit的用例如下: 12345678910111213Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.example.com/") ...
阅读全文 »

ANR分析

发表于 2018-04-19 | 阅读次数:
ANR问题分析 在Android开发的bug调试过程中,ANR算是最让开发者头疼的一种情况,一方面是因为导致ANR发生的原因很多,另一个方面ANR不像一般的BUG可能又会非常明显异常堆栈,最重要的一方面也是因为大多数ANR发生时并没有什么规律可寻,因此也不好重现。本篇笔者将对ANR做一个全面的介绍 ...
阅读全文 »

android 属性动画原理

发表于 2018-03-20 | 分类于 AOSP | 阅读次数:
概述 属性动画是在Android3.0提供的一套全新的动画Api,它和传统的补间动画相比有更大的灵活性。比如我们要使用动画更新一个button的宽度,如果使用补间动画ScaleAnimation那么最后放大后的button是变形的,而使用属性动画实现不存在这样的问题,还有最大的区别在于补间动画不会 ...
阅读全文 »

android Tween动画原理

发表于 2018-03-12 | 分类于 AOSP | 阅读次数:
Android提供了几种基本的动画: 帧动画 补间动画 属性动画 其中属性动画和补间动画比较常用,它们最大的区别在于补间动画并不会真正的改变View的属性,什么意思呢?比如通过补间动画将页面中的Button从左边移动到右边一段距离,如果此时点击Button,它不会对点击事件做出响应,这是因为bu ...
阅读全文 »

requestLayout源码分析

发表于 2018-02-18 | 分类于 AOSP | 阅读次数:
invalidate是用来进行view的重绘的,它一般会导致onDraw的调用(对于ViewGroup容器来说它并不一定会调用onDraw)以使View改变自身内容,但是如果当view的大小尺寸发生了变化,此时就需要requestLayout对view进行布局请求。比如当view设置了布局参数后就需 ...
阅读全文 »

View invalidate的源码分析

发表于 2018-02-10 | 分类于 AOSP | 阅读次数:
我们在自定义View时,通常使用invalidate方法来刷新View,本篇将对invalidate的实现进行分析。invalidate有多个重载方法, 但其最终的实现都是类似的,这里我们从invalidate()开始分析。 1234567891011121314151617181920212223 ...
阅读全文 »

Surface绘图缓冲区的创建流程

发表于 2018-01-24 | 分类于 AOSP | 阅读次数:
Android View绘制是GUI系统的核心,而绘制view是需要缓冲区的,也就是我们说的画布,因此了解这个缓冲区的分配流程是有必要的,本篇将对该缓冲区的分配进行解释。 Activity结构剖析 Acitivty实际上在WMS端只是个Window,是以WindowState进行描述的,在AMS端 ...
阅读全文 »
123…6
esli

esli

59 日志
5 分类
7 标签
© 2019 esli