首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
esli
掘友等级
关注于前端开发,系统架构,phthon等话题
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
Android6.0 动态权限机制
Android6.0以后引入了动态权限机制,一些系统权限的分配需要在app运行中进行分配,而不只是在AndroidManifest中指定。 本篇将针对动态权限的底层分配过程进行分析(基于Android-6.0.1)。 requestPermissions对于Android M的…
Android属性动画原理
属性动画是在Android3.0提供的一套全新的动画Api,它和传统的补间动画相比有更大的灵活性。比如我们要使用动画更新一个button的宽度,如果使用补间动画ScaleAnimation那么最后放大后的button是变形的,而使用属性动画实现不存在这样的问题,还有最大的区别在…
Tween动画原理
其中属性动画和补间动画比较常用,它们最大的区别在于补间动画并不会真正的改变View的属性,什么意思呢?比如通过补间动画将页面中的Button从左边移动到右边一段距离,如果此时点击Button,它不会对点击事件做出响应,这是因为button的作用区域(点击该区域依然可以触发cli…
SurfaceFlinger合成layer过程详解
本篇将对Android GUI系统SurfaceFlinger(简称SF)合成layer的具体过程进行分析。合成过程是SF最核心的任务,这个过程贯穿了整个SF业务逻辑,SF所有的工作都最终是为了合成显示做准备。所以,了解SF的合成过程对于我们进一步了解Android GUI系统…
SurfaceFlinger之绘图缓冲区
SurfaceFlinger是GUI系统的核心服务,它主要负责图层的合成任务,同时它为每个应用程序维护一个Client,Client又是由多个Layer组成,Layer对应应用端的Window,这样SurfaceFlinger就能通过Layer来明白各个应用的绘图需求,从而将其…
SurfaceFlinger之VSYNC信号的产生和处理
SurfaceFlinger(简称SF)的绘制合成过程是在VSYNC信号(即垂直同步信号)的控制下同步进行的,所以VSYNC信号可以说是SF的指挥官,它的协调同步控制对于界面绘制效率至关重要。本篇将介绍VYSNC信号在SF服务中是如何发挥这个指挥官的角色。 SufaceFlin…
GUI系统之SurfaceFlinger-HAL层
SurfaceFlinger是GUI系统的核心,本篇将以自底向上的方式对其展开介绍。 Linux 内核提供了统一的famebuffer显示驱动,设备节点/dev/graphics/fb 或者 /dev/fb,fb0是第一个显示屏。 HAL即硬件抽象层,Android的各个子系统…
Surface绘图缓冲区的创建流程
Android View绘制是GUI系统的核心,而绘制view是需要缓冲区的,也就是我们说的画布,因此了解这个缓冲区的分配流程是有必要的,本篇将对该缓冲区的分配进行解释。 Acitivty实际上在WMS端只是个Window,是以WindowState进行描述的,在AMS端它是一…
requestLayout源码分析
invalidate是用来进行view的重绘的,它一般会导致onDraw的调用(对于ViewGroup容器来说它并不一定会调用onDraw)以使View改变自身内容,但是如果当view的大小尺寸发生了变化,此时就需要requestLayout对view进行布局请求。比如当vie…
View invalidate的源码分析
我们在自定义View时,通常使用invalidate方法来刷新View,本篇将对invalidate的实现进行分析。invalidate有多个重载方法, 但其最终的实现都是类似的,这里我们从invalidate()开始分析。 另一个PFLAG_DRAWING_CACHE_VAL…
下一页
个人成就
文章被点赞
90
文章被阅读
55,892
掘力值
881
关注了
0
关注者
40
收藏集
0
关注标签
25
加入于
2020-08-02