![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
释然的Android源码之旅
文章平均质量分 93
释然小师弟
2020年度掘金人气作者,现输出技术文章30余篇,专注于深度文章的创作和分享
展开
-
「Android10源码分析」为什么复杂布局会产生卡顿?-- LayoutInflater详解
系列文章索引Android系统启动流程源码下载及编译Android系统启动流程纵览init进程源码解析zygote进程源码解析systemServer源码解析LayoutInflater源码详解更新录播回放已上传,请戳链接食用:【Android/源码/面试】LayoutInflater源码详解前言这篇文章会从源码的角度分析,LayoutInflater将xml文件实例化为一个view对象的流程我们会发现,其中有两个部分是耗时的主要来源XmlResoursePars.原创 2021-01-31 07:49:11 · 508 阅读 · 0 评论 -
深入研究源码:Android10.0系统启动流程(四):SystemServer
系列文章索引Android系统启动流程源码下载及编译Android系统启动流程纵览init进程源码解析zygote进程源码解析systemServer源码解析前言Android源码启动篇终于到了最后一个重要的内容–SystemServer(系统服务),接下来我们就来看看SystemServer为什么这么重要吧正文SystemServer是Android基本服务的提供者,是Android系统运行的最基本需求,所有service运行在一个叫system_server的进程中,sy.原创 2021-01-31 07:47:50 · 620 阅读 · 1 评论 -
深入研究源码:Android10.0系统启动流程(三):Zygote
前言研究过程中参考了很多的文章,这篇源码分析,可能是全网最全的Zygote源码分析了如果觉得这篇源码分析太干,也可以先看一下后续的相关总结,戳https://juejin.im/post/6844903966665539591全文概览我们都知道Android中非特殊进程(除init进程和Zygote进程外的进程,源码中称其为unspecialized app process),都是由Zygotefork出来的子进程,包括SystemServer,也是由Zygote fork出来的这篇文章我们主.原创 2021-01-31 07:46:31 · 510 阅读 · 1 评论 -
深入研究源码:Android10.0系统启动流程(二)init进程
前言上篇文章对系统启动流程进行了一个大概的梳理,我们知道了init进程是由内核态的0号进程idle(wrapper)启动起来的,今天我们就来深入挖掘下,init进程到底做了哪些事情正文整体流程概览具体源码分析init的源码位于system/core/init包下,我们先从入口类main.cpp来看int main(int argc, char** argv) {#if __has_feature(address_sanitizer) __asan_set_error_report.原创 2021-01-31 07:45:30 · 1224 阅读 · 3 评论 -
深入研究源码:Android10.0系统启动流程(一)
前言针对系统启动流程的专题研究也进行了差不多一周了,虽然进度缓慢,但也算是有一些阅读源码的心得,以及对源码的一点理解由于系统启动流程涉及的源码相对较多,所以决定分几篇文章来写,本篇主要是对启动流程进行一个简单的概述,以及谈一下我个人的读源码的方法正文启动流程概述这里说的启动流程是指Android系统的启动流程让我们来回想一下,我们是如何“启动”一个全新未开封的Android手机的:按电源键进入开机动画经过漫长的等待(大概几分钟?哈哈)开机动画结束正式开机,进入设置画面进入系.原创 2021-01-31 07:44:40 · 611 阅读 · 0 评论 -
启航!Android10源码编译之深入折腾Vmware虚拟机
前言最近跟朋友组了个局,一起学习framework相关的源码。学习源码,首先就是要下载,编译源码啦。恰巧Android10的源码在本周刚刚发布,所以索性就拿它来进行framework的研究学习因为我目前使用的是Mac的本子,但是在Mac上搭建环境进行源码下载和编译会出现各种问题,所以使用Wmware加载ubanbu系统的方式来进行下载和编译。虽然说解决了一部分问题,但是也产生了新的问题,也算是填了不少的坑这篇文章主要是记录下遇到的坑以及填坑的过程,给其他也有着相同问题的小伙伴把路铺平,尽快下载并编.原创 2021-01-31 07:43:32 · 777 阅读 · 0 评论 -
【再出发】插件化探索:插件Activity是如何启动的?
“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 liyilin7@borgward.com, 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码?原创 2021-01-27 14:11:11 · 382 阅读 · 0 评论 -
【再出发】Android11源码分析:静态广播是如何接收到消息的?
“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 liyilin7@borgward.com, 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? ..原创 2021-01-27 14:08:13 · 952 阅读 · 0 评论 -
【再出发】Android11源码分析:Service启动流程分析
“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 liyilin7@borgward.com, 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? ..原创 2021-01-27 14:06:18 · 864 阅读 · 0 评论 -
【再出发】Android11源码分析:Activity是怎么启动的?
“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 liyilin7@borgward.com, 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? ..原创 2021-01-27 14:04:48 · 539 阅读 · 0 评论 -
【再出发】Android11源码分析:应用是如何启动的?
“系列文章索引新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? Android11源码分析:应用是如何启动的? Android11源码分析:Activity是怎么启动的? Android11源码分析:Service启动流程分析 Android11源码分析:静态广播是如何收到通知的? Android11源码分析:binder是如何实现跨进程的?(创作中) 番外篇 - 插件化探..原创 2021-01-27 14:03:08 · 432 阅读 · 1 评论 -
【再出发】Android11:Mac环境如何下载Android源码?
“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? Android11源码分析:应用是如何启动的? Android11源码分析:Activity是怎么启动的? Android11源码分析:Se..原创 2021-01-27 14:00:13 · 693 阅读 · 0 评论