Android 源码学习
Omni-Space
专注Android, Mobile Security and AI
展开
-
Android O: View的绘制流程(一): 创建和加载
从这篇博客开始,我们会用几篇文章, 基于Android O的代码,分析一下View的绘制流程。在分析具体的绘制流程前,我们先来了解一下XML中定义的View, 如何被创建和加载。一、setContentView 在分析具体的代码前,我们先看看Android的视图结构: 如上图所示,每个Activity都与一个Window(具体来说是PhoneWindow转载 2018-01-26 09:23:27 · 325 阅读 · 0 评论 -
Android O: View的绘制流程(三):布局和绘制
前一篇文章Android O: View的绘制流程(二):测量中, 我们分析了View的测量流程。 当View测量完毕后,就要开始进行布局和绘制相关的工作, 本篇文章就来分析下这部分流程。一、View的layout 我们从ViewRootImpl.java的performLayout函数开始分析:private void performLayout(WindowMa转载 2018-01-27 15:53:31 · 391 阅读 · 0 评论 -
Android O: View的绘制流程(二):测量
在前一篇博客Android O: View的绘制流程(一): 创建和加载中, 我们分析了系统创建和加载View的过程,这部分内容完成了View绘制的前置工作。本文开始分析View的测量的流程。一、绘制流程的起点 在分析View的测量的流程前,我们先来寻找一下界面绘制流程的起点。 当Activity启动时,会调用ActivityThread的handleLaunc转载 2018-01-27 15:58:12 · 297 阅读 · 0 评论 -
Android7.0 PowerManagerService亮灭屏分析(二)
在PowerManagerService中对各种状态进行判断后,将其数值封装进DisplayPowerRequest中传入DisplayPowerController中进一步处理。在亮屏过程中DisplayPowerController会根据传过来的数值来设置新的电源状态为亮屏,然后调用DisplayPowerState来对状态进行设置,在分析DisplayPowerState时会具体讲解。由于此...转载 2018-04-18 14:41:47 · 724 阅读 · 0 评论 -
Android7.0 PowerManagerService亮灭屏分析(三)
在前面两部分已经对绘制windows与设置设备状态进行了详细讲解. 之后接着就该对亮度值进行设置, 实现亮屏动作了.在DisplayPowerController中的animateScreenBrightness函数通过亮度渐变动画来将亮度设置到目标亮度.[java] view plain copy// Brightness animation ramp rate in brightness un...转载 2018-04-18 14:43:09 · 487 阅读 · 0 评论 -
Android 7.0 源码分析项目一期竣工啦
从 Android 入行开始,因为工作需求和解决疑难bug的原因陆陆续续的看过一些源码,但都不成系统,从2016年年底开始,在Github上建了一个Android Open Source Project Analysis,专门针对Android 7.0 源码进行系统的分析,这是一个从实践角度去分析源码的项目,目前项目一期已经完成。更好的阅读体验?...转载 2018-04-08 04:00:41 · 264 阅读 · 0 评论