Android系统源码
Zhou Jiang
今天,你努力了吗?
展开
-
ViewGroup事件分发机制源码解析(二)ViewGroup篇(含滑动冲突源码解析和解决)
上一篇讲解了View的事件分发机制,查看点击链接View事件分发机制查看。本文基于Android9.0的源码进行分析ViewGroup的事件分发机制和事件冲突解决方案,源码点击https://github.com/Oaman/Forward查看。概述本文分如下几个步骤分析ViewGroup的Down事件的分发源码分析ViewGroup的Move事件的分发源码分析ViewGroup的滑动事件冲突处理实战 + 源码分析ViewGroup的事件分发机制源码概览ViewGroup的dispat.原创 2020-10-07 15:49:06 · 528 阅读 · 0 评论 -
Android系统启动流程(四)Launcher进程启动过程解析(附带面试题)
前面我们分析了init进程,zygote进程,SystemServer进程,本篇的Launcher是系统启动流程的最后一个进程。1 Launcher概述Launcher进程是一个系统的应用程序,位于packages/apps/Launcher3中,它用于显示已经安装的应用程序,它通过访问PackageManagerService获取安装的应用程序,然后将他们封装成一个个的快捷图标显示到屏幕上,每一个图标包含了被启动应用程序的Intent信息,点击之后就可以启动对应应用程序。2 Launcher进.原创 2020-10-07 15:36:46 · 3904 阅读 · 2 评论 -
Android系统启动流程(三)SystemServer进程启动过程解析
上一篇我们分析了zygote进程的启动过程,其中有一个步骤是startSystemServer,今天这一篇就来详细分析一下system_server进程的启动过程。1 Zygote中startSystemServerframeworks/base/core/java/com/android/internal/os/ZygoteInitprivate static boolean startSystemServer(String abiList, String socketName) .原创 2020-10-07 15:33:31 · 937 阅读 · 0 评论 -
Android系统启动流程(二)Zygote进程启动过程解析
上一篇中解析了init进程的启动流程,其中最后创建了zygote进程,本篇我们来详细分析zygote进程的部分。1 zygote进程概述Zygote进程又名孵化器进程,正如其名,它主要用于孵化子进程。在Android系统中有以下两种程序:java应用程序,主要基于ART虚拟机,所有的应用程序apk都属于这类native程序,也就是利用C或C++语言开发的程序,如bootanimation。所有的Java应用程序进程及系统服务SystemServer进程都由Zygote进程通过Linux的fork().原创 2020-10-07 15:28:39 · 681 阅读 · 0 评论 -
Android系统启动流程(一) init进程启动过程解析
init进程是Android系统第一个用户态的进程,init被赋予了很多重要的职责,比如我们熟悉的Zygote孵化器进程就是由init进程启动的。今天我们就来学习init进程的启动过程。1 init进程启动之前分析在分析init进程之前,我们先简单说一下init之前的步骤,大概流程如下:1) 按Power键启动电源及系统启动当按下电源键,引导芯片代码开始从固化在ROM中预定义的地方开始执行,加载引导程序Bootloader到RAM,然后执行引导程序。2) 引导程序Bootloader引导程序.原创 2020-10-07 15:10:22 · 3061 阅读 · 2 评论 -
Android系统架构解析与系统源码目录
Android框架是一个大的系列,熟悉其中的流程对于Android开发尤其重要,这里面有很多重要的工作和面试的知识点,从今天开始,我将发布一个系列博客,对于系统源码层进行分析。今天首先对Android的框架结构以及系统源码目录进行解析。1 Android系统架构图众所周知,Android是谷歌开发的一款基于Linux的开源操作系统,Android系统架构分为五层,从下到上依次是Linux内核层,硬件抽象层,系统运行库层(Android Runtime + Native C/C++ Librarie.原创 2020-10-07 15:07:10 · 835 阅读 · 1 评论