当前位置:   article > 正文

android创建进程,Android app_process 进程创建

app_process

一、app_process与Zygote

Android中,创建进程的方式有4种,其中app_process和Zygote有什么不同呢?

Android系统内核初始化完毕后,进入用户空间启动的第一个进程叫init 他是Android系统所有进程的祖先,这个进程启动后会初始化文件系统。Zygote主要负责如下任务

负责启动java虚拟机

加载很多需要预加载的类和系统资源

负责启动systemServer ,systemServer 会启动android中的所有服务,基本上完成了上层框架的所有功能。

负责初始化新进程,其实就是fork app的独立进程,比如启动一个application,那么zygote就负责为新启动的activityThread建立进程,并调用AppRuntime 、activityThread中的main,或进行初始化。

对于init来说zygote其实就是一个很普通的服务

service zygote /system/bin/app_process32 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote

class main

priority -20

user root

group root readproc reserved_disk

socket zygote stream 660 root system

onrestart write /sys/android_power/request_state wake

onrestart write /sys/power/state on

onrestart restart audioserver

onrestart restart cameraserver

onrestart restart media

onrestart restart netd

onrestart restart wificond

writepid /dev/cpuset/foreground/tasks

service zygote_secondary /system/bin/app_process64 -Xzygote /system/bin --zygote --socket-name=zygote_secondary

class main

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/450633
推荐阅读
相关标签
  

闽ICP备14008679号