![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码解析
文章平均质量分 74
龚礼鹏
Android应用架构师、AndroidFramework工程师、鸿蒙&openHarmony工程师、flutter开发工程师
展开
-
android 进阶解密 第八章 理解WindowManagerService
一.WindowManagerService的职责1.窗口管理:窗口的管理者,负责窗口的启动,添加和删除,窗口的大小,层级。窗口管理的核心成员类有DisplayContent,WindowToken和WindowState。2.窗口动画:窗口进行切换时,使用窗口动画可以显得更炫一些,窗口动画由WMS的动画子系统(WindowAnimator)来负责。3.输入系统的中转站:通过对窗口的触...原创 2020-07-20 23:10:16 · 645 阅读 · 0 评论 -
android 进阶解密 第七章 理解WindowManager
1.WidowManager,Window,WMS之间的关系图Window包含view并对view进行管理,Window是抽象概念,WindowManager用来管理Window,最终功能实现是在WMS中。2.WindowManager关联类,如下图。①.window和WindowManager通过setWindowManager关联。②.ViewManager是一个接口,...原创 2020-07-20 23:10:27 · 408 阅读 · 0 评论 -
android进阶解密 第六章 理解ActivityManagerService
一.android 7.0中的AMS家族AMS家族中的关系图如下:1.AMS是AMN的子类,也是他的功能实现类。1.AMP和AMN共同实现了IActivityManager接口,这样他们实现了代理模式。所以AMP是AMS在client端的代理类。2.AMP是在客户端进程,AMN是在服务端进程,AMN实现了Binder类,所以AMP和AMS可以实现跨继承的binder通信。二...原创 2020-07-20 23:10:37 · 400 阅读 · 2 评论 -
android进阶解密 第五章 context
1.context的用途可以分为两类:①.使用Context调用方法,比如:启动Activity,访问资源,调用系统服务等。②.调用某个方法传入context参数,比如:弹出Toast,创建dialog等。2.各个context关系图如下:如上图分析是采用了装饰器模式(ContextWrapper是装饰器,ContextImpl是实现类)...原创 2020-07-20 23:10:45 · 259 阅读 · 0 评论 -
android view的工作原理
本章主要讲ViewRoot、DecorView、MeasureSpec、View的工作流程、自定义view1.ViewRoot和DecorView①ViewRoot的PerformTraversals方法开始最终调用view的measure、layout、draw方法。②decorview最终分为有titlebar和content两个布局,我们平时设置的setcontentvie...原创 2020-07-20 23:11:38 · 408 阅读 · 1 评论 -
第三章 Lock与Condition
3.1 互斥锁3.1.1 锁的可重入性:在加锁的内部可以继续加锁,lock与synchronized都支持。3.1.2 类的继承层次:3.1.3 锁的公平性与非公平性Sync是一个抽象类,它的两个子类FairSync与NofairSync分别是公平锁与非公平锁。3.1.4 锁实现的基本原理需要以下几个核心要素:①.需要一个state变量标记该锁的状态,对state变量的操作,要确保线程安全,也就是会用到CAS操作。②.需要记录当前哪个线程持有锁。③.需要底层支持对一.原创 2020-07-13 23:30:07 · 387 阅读 · 0 评论 -
android 进阶之光 第五章 网络编程与网络框架
1.网络分层:网络分层从上到下分别是应用层、传输层、网络层、数据链路层和物理层。①.物理层:该层负责比特流在节点间的传输,即物理传输,通俗的说就是把计算机连接起来的物理手段②.数据链路层:该层控制网络层和物理层之间的通信,其主要功能是如何在不可靠的物理线路上进行可靠地传递。③.网络层:该层决定如何将数据从发送方路由到接收方。④.传输层:该层为两台主机上的应用程序提供端到端的通信。...原创 2020-07-20 22:43:00 · 314 阅读 · 1 评论 -
android进阶解密 第四章 android8.0四大组件的工作过程
一.根Activity的启动过程:分成三部分讲解:Laucher请求AMS过程,AMS到ApplicationThread的过程,ActivityThread启动Activity过程。1.Laucher请求AMS过程时序图:注意:①.Instrumentation主要是用来监控应用程序和系统之间的交互,在Instrumentation的execStartActivity方法中调...原创 2020-07-20 23:10:58 · 316 阅读 · 2 评论 -
android进阶解密 第三章 应用程序进程启动过程
一.ams发送启动应用程序请求时序图如下:1.在startProcessLocked中得到要创建进程的用户id(app.uid),并将用户id传到下一个流程(Process.start)中。2.zygoteSendArgsAmdGetResult(openZygoteSockedIfNeeded(abi),argsForZygote)中调用了openZygoteSocketIfNeed...原创 2020-07-20 23:11:07 · 419 阅读 · 1 评论 -
android 源码级分析android系统的启动过程
博客园 首页 新随笔 联系 管理 订阅随笔- 31 文章- 0 评论- 36源码级分析Android系统启动流程首先看一下Android系统的体系结构,相信大家都不陌生1.首先Bootloader引导程序启动完Linux内核后,会加载各种驱动和数据结构,当有了驱动以后,开始启动Android系统,同时会加载用户级别的第一个进程init(system\core\in...原创 2019-03-21 14:24:18 · 218 阅读 · 0 评论