自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天涯的专栏

长兄于病视神,未有形而除之,故名不出于家。中兄治病,其在毫毛,故名不出于闾。若扁鹊者,镵血脉,投毒药,副肌肤,闲而名出闻于诸侯。...

原创 Android 源码 启动 zygote service 流程分析
原力计划

经过前两节对 init.rc 脚本的分析,现在是时候来看如何启动 zygote service 了。这里需要注意和以前版本 Android 系统启动 zygote service 入口有较大区别,并非在 boot Action 中启动的! 我在 init 模块加入了必要的 log 来分析 zygo...

2020-04-25 20:19:09 115 0

原创 Android 源码 解析 init.rc 脚本
原力计划

init.rc 脚本是在 init.cpp 入口方法 main 中开始解析的,实际工作调用了 init_parser.cpp 内的 init_parse_config_file 方法。 system/core/init/init.cpp ...... int main(int argc, char...

2020-04-24 21:08:26 72 0

原创 Android 源码 读懂 init.zygote32.rc 文件
原力计划

Android Init 语言包含四类主要的语句,分别是动作、命令、服务和选项。 所有这些都是面向行的,由用空格分隔的标记组成。C 样式的反斜杠转义符可用于将空格插入标记。也可以使用双引号来防止空格将文本分成多个标记。反斜杠是一行中的最后一个字符时,可用于折行。 以#开头的行是注释。 Action...

2020-04-21 21:46:56 189 0

原创 Android 源码 init 编译

当我们修改了 system/core/init 下的文件,可以直接 mm 命令编译。 按照常规步骤: adb root adb remount adb push xxx/init ./ 很可惜不奏效,报错 Read-only file system,push 没有生效。 查找资料一番,需要执行以...

2020-04-19 21:48:15 111 0

原创 Android AOSP 6.0.1 Process start 流程分析(二)
原力计划

Process 类 startViaZygote 方法中,最后一步调用了 zygoteSendArgsAndGetResult,此函数以 openZygoteSocketIfNeeded 返回的 ZygoteState 对象,和很多组织在 ArrayList 中的参数作为实参传入。 framewo...

2020-04-17 20:37:17 114 0

原创 野生程序员如何保持技术精进?

野生程序员一大抓,野生程序员想要“转正”,却要付出加倍努力。我和很多程序员小伙伴一样,来自于野外! 首先什么样的程序员才是野生程序员?没有经过科班系统学习的程序员其实都是野生的,大学工科可能仅仅接触了个C语言,最后从事了算法、软件开发等工作,这都属于野生程序员的范畴。 为什么野生程序员应该转正?不...

2020-04-14 20:21:12 229 0

原创 Android AOSP 6.0.1 Process start 流程分析(一)
原力计划

Android 应用程序启动涉及进程启动流程,我们知道 Linux 内核通过 fork、vfork 和 clone 系统调用实现进程复制。 fork 是重量级调用,因为它建立了父进程的一个完整副本,然后作为子进程执行。为了减少与该调用相关的工作量,Linux 使用了写时复制技术。 vfork 类似...

2020-04-12 11:49:20 90 0

原创 Android AOSP 6.0.1 内容提供者 insert 流程分析

接前一节《Android AOSP 6.0.1 内容提供者 acquireProvider 流程分析》分析了 acquireProvider 函数流程,今天将重心转移到 insert 函数。 下面是内容提供者 insert 流程分析时序图。 frameworks/base/core/java/a...

2020-04-07 21:55:56 76 0

原创 Android AOSP 6.0.1 内容提供者 acquireProvider 流程分析
原力计划

内容提供者是 Android 应用程序的主要构建模块之一,可为应用程序提供内容。它们封装数据并通过单个 ContentResolver 接口将其提供给应用程序。 仅当您需要在多个应用程序之间共享数据时,才需要内容提供者。例如,联系人数据由多个应用程序使用,并且必须存储在内容提供者中。 如果您不需要...

2020-04-06 17:48:43 153 0

提示
确定要删除当前文章?
取消 删除