Android framework系列3 -zygote
创始人
2024-05-29 17:44:50
0

1、入口

system/core/rootdir/init.zygote64.rc
frameworks/base/cmds/app_process/app_main.cpp

2、流程图

https://note.youdao.com/s/MolK1dkA
在这里插入图片描述

3、源码分析

init进程会解析init.zygote64.rc文件,来启动zygote进程
在这里插入图片描述
zygote进程入口
在这里插入图片描述
首先会初始化AndroidRuntime
在这里插入图片描述
AppRuntime继承自AndroidRuntime
在这里插入图片描述
在这里插入图片描述
我们在启动的时候是传入了zygote 和start-system-server参数的,所以我们会启动zygote,这里看到对这个进程进行了命名。
在这里插入图片描述
这里调用了AndroidRuntime的start方法,用于调用ZygoteInit
接下来我们继续查看start方法
在这里插入图片描述
在这里插入图片描述

这里有创建虚拟机,可以看到虚拟机的参数都是在这里设置的,如果对系统虚拟机进行优化,我们可以在这里做相应的调整。
接下来,我们看到注册jni的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里对Android框架的一些jni进行了注册,举个例子,我们找一下handler下MessageQueue的注册。
在这里插入图片描述
在这里插入图片描述
这里我们可以看到了MessageQueue的native方法注册。
tips:
1、对于jni动态&静态注册不了解的可以参考文章学习下,https://www.cnblogs.com/pengxurui/p/16526272.html
2、为什么注册jni放到zygote处进行?
1)时机,此时还在c/c++层面执行
2)fork,app进程都是通过zygote进程fork出来的,fork的进程是复制的,在zygote注册了,那么app进程也就注册了JNI(如果zygote进程死了,那么所有的app进程都会挂掉)

我们接着注册jni后继续分析代码,可以看到如下代码,这里通过JNI反射完成了c++层到java层代码的调用。
在这里插入图片描述
到此zygote c++层代码流程完成,接下来我们切入到zygote java代码层面分析。

入口main函数
在这里插入图片描述
还是按照流程图中的关键函数查看,preload
在这里插入图片描述
在这里插入图片描述
可以看到这里有加载资源等信息,这个方法是在卡机启动里面比较耗时的函数,如果对开机启动做优化,可以看下这块的逻辑。
接下来我们继续查看,可以看到了有创建zygoteserver和forkSystemServer,最终会循环保持进程活着。
在这里插入图片描述

相关内容

热门资讯

精选情感电台广播稿   本站为大家精选了精选情感电台广播稿,欢迎阅读。  精选情感电台广播稿【一】  大家好,收音机旁我...
致接力运动员加油稿   致接力运动员加油稿(一)  小小接力棒,连着你和我,牵着你的情,动着我的心。这是团结的象征,这是...
致敬最美逆行者讲话稿 致敬最美逆行者讲话稿范文(精选11篇)  随着社会一步步向前发展,各种讲话稿频频出现,讲话稿可以按照...
《观潮》说课稿 《观潮》说课稿15篇  作为一位杰出的教职工,总不可避免地需要编写说课稿,说课稿有助于提高教师的语言...
八年级下册《马说》说课稿 八年级下册《马说》说课稿八年级下册《马说》说课稿1  一.说教材  1. 教材所处的地位和作用:  ...
小学数学说课例稿   实际上数学就在学生身边,教师要善于引导学生运用数学的眼光去观察和认识现实生活中的客观事物,在有关...
《放小鸟》说课稿 《放小鸟》说课稿  作为一名为他人授业解惑的教育工作者,时常需要用到说课稿,借助说课稿可以更好地提高...
《平行四边形的认识》数学说课... 《平行四边形的认识》数学说课稿  作为一位兢兢业业的人民教师,时常要开展说课稿准备工作,借助说课稿可...
职工拾金不昧新闻稿 职工拾金不昧新闻稿  拾金不昧拾到东西并不隐瞒下来据为己有,指良好的人的道德和社会风尚。以下是小编为...
《鸬鹚》优秀说课稿 《鸬鹚》优秀说课稿  《鸬鹚》是义务教育六年制小学语文第七册第21课,作者是我国现代著名的文学家郑振...
校园红领巾广播稿 校园红领巾广播稿100字(通用27篇)  有在广播站锻炼的同学们,广播前一般都会提前做好广播稿,优秀...
《最后一课》说课稿 《最后一课》说课稿《最后一课》说课稿1  它是初中一年级的教学内容,具体编排在第一册第二单元的第二篇...
国庆节朗诵稿 国庆节朗诵稿  在我们上学期间,大家对朗诵稿都再熟悉不过了吧,朗诵是口语交际的一种重要形式。你知道什...
运动会广播稿100字:致短跑...   1.间的成败 ——致百米运动员  红色的跑道,承载着多少汗水,一条红线,记载着多少成败。  一次...
万能开会发言稿 万能开会发言稿公司开会,肯定是需要提前做好准备的,也要准备好要说的话,或是发言稿,万能开会发言稿。万...
《要下雨了》说课稿 小学语文一年级下册《要下雨了》说课稿范文  作为一名老师,时常需要编写说课稿,说课稿有助于学生理解并...
运动会加油稿 运动会加油稿20字  导语:运动会少不了加油,简单的一句话,可以给予运动会无限的力量。下面是为大家的...
小学语文《数字歌》说课稿 小学语文《数字歌》说课稿  【说教材】  我说的是九年义务教育新课程北师大版语文一年级上册第三单元《...
高三百日誓师领导发言稿 高三百日誓师领导发言稿  在不断进步的时代,发言稿使用的情况越来越多,发言稿可以帮助发言者更好的表达...
小学经典美文朗诵稿 通过朗诵可以陶冶性情,开阔胸怀,文明言行,增强理解。下面是大学网小编为大家整理了小学经典美文朗诵稿,...