
Android显示架构
文章平均质量分 96
ywlyg
这个作者很懒,什么都没留下…
展开
-
Android4.4 窗口添加过程
注:本文参考《深入理解Android内核设计思想》10.3节窗口的添加过程窗口添加分两类:service和activity窗口添加,先以systemUI中的statusbar作为例子说明大致过程,然后再分析activity的不同。一:状态栏的添加在statusbarview.java中 private void addStatusBarWindow() { // Put up th...原创 2018-04-17 19:44:04 · 450 阅读 · 0 评论 -
Android4.4 Surface从java到native的创建过程
研究Surface的创建流程需要一个精简的流程,不然跳转太多,脑子都乱了。先讲一个大致的过程:ViewRootImpl在构造时会new一个Surface,在relayoutWindow方法中传入mSurface,这个跨进程的调用会在binderserver端新构造一个Surface,在WMS中构造SurfaceControl,然后将生成的SurfaceControl传入binderserver端的...原创 2018-04-19 19:19:08 · 1088 阅读 · 0 评论 -
Android显示设备管理以及转屏流程
在处理android双屏异显项目,发现异显副屏(HDMI)显示竖屏内容时是拉伸的,在解决问题的过程中跟了WMS和DisplayManagerService的流程,也接触了转屏的过程,在此记录下来。先来看看系统流程://SystemServer.java private void run() { // Display manager is needed to prov...原创 2018-08-10 20:54:45 · 6712 阅读 · 3 评论 -
Android显示vsync信号的虚拟化和处理流程
Android系统在4.4之后加入了黄油计划,surfaceflinger对显示的处理也变得复杂起来。由于添加了vsyn虚拟化机制,app将要显示的内容和surfaceflinger对显示内容的合成分成了两个部分,而两者开始的信号都是从vsync发出的。这里就涉及vsync信号的发生和传递,并且考虑到性能原因,信号的发生和传递都是按需进行的。因此,研究vsync信号的虚拟化及其处理,有助于理...原创 2018-09-26 19:28:09 · 3154 阅读 · 0 评论