Introduction to the Android Startup Process
In fact, everyone is not a god. It is impossible to know one thing at birth. It is the result of learning the day after tomorrow.
The Android startup process is too complicated. cainiao like ours cannot understand what he said for a long time.
So, I decided to talk about it myself. A simple talk would be a simple one.
Android
Android heavyweight development-Research on Improving android startup speed
Www.eoeandroid.com first launched by: Tigertang2@gmail.comEveryone knows that slow startup speed is a common problem in the smart operating system. Android is no exception. The boot speed is about 1 minute. Although a product called quick boot in Japan s
file format integrates all the class files into one file. In this way,Reduces the overall file size, I/O operations, and improves the speed of searching classes. The original constant pool in each class file,A constant pool is used to manage Dex files.One application, one virtual machine instance, and one processEvery android application runs in a Dalvik Virtual Machine instance, and every virtual machine instance is an independent. The thread mechan
) process:The following is an excerpt from the Web blog, the original author and blog address forgot [Sorry!]----------------------------------------------------------------------------------------------------------- -----------------------The Android platform is designed for handheld embedded devices, and most handheld devices work with batteries, which themselves have very limited resources.Therefore, the handheld device requires embedded system pla
First, summarizeSystem Boot Architecture diagram:In the Android system-the beginning of the explanation, from the point of view of the Android system boot, this article is from the process/threading perspective to analyze the problem.1.1 Parent ProcessIn all processes, a process that exists in the posture of the parent process (that is, the light red item in the diagram), as follows:
kthreadd进程: is
On the third day, google said that the Garden of Eden (the linux World) was isolated, so Adam (Adm) and Eve (Eve) were created, called zygote and system_server.
-- Xxx
The next day, init ran out. The most important thing for the android system is to start zygote and system-server. Who is Adam and who is Eve?
From the analysis of init. rc
1 service
On the third day, Google said that the Garden of Eden (the Linux World) was isolated, so Adam (ADM) and Eve (Eve) were created, called zygote and system_server.
-- Xxx
The next day, init ran out. The most important thing for the Android system is to start zygote and system-server. Who is Adam and who is Eve?
From the analysis of init. RC
service
Android Boot Process Analysis, android Boot Process
First, android is based on the Linux kernel. android can be started only when kernel is loaded first. For Linux, android is only an application on it. Android startup can be divi
Android technology 20: Android initialization process, android Initialization
How is the Android system started? How is the application started. The following describes the initialization process.
1. Android system initialization
1.1Android will first start the basic Linux s
process in Linux, so it can be thought of as the same concept.B, DVM refers to DALIVK virtual machines. Each Android application runs in its own process and does not necessarily have a separate Dalvik virtual machine instance. Each DVM is not necessarily a process in Linux, so it is not a concept.C, DVM refers to DALIVK virtual machines. Each Android application runs in its own process and has a separate i
The Android system is huge, and it takes a long time to figure out how the system works. The system startup section looked several times but did not summarize, today briefly summarizes.The first focus of Android is to start the zygote process, which originates from Init.rc's read, zygote process is primarily used to ha
crashes.DVM created and initialized by Zygote in the Android system boot process (ii) parsing the Zygote process initiation process I introduced Zygote, which can be called an incubator, which is a DVM process, and it is also used to create and initialize a DVM instance. Whenever the system needs to create an applicat
://s3.51cto.com/wyfs02/M00/6E/A3/wKioL1WBbnDTaqQlAAJ4msbU3f0944.jpg "title=" Android boot sequence.png "alt=" Wkiol1wbbndtaqqlaaj4msbu3f0944.jpg "/>Based on the Android boot block diagram above, we can list several key steps involved in the Android system launch in a sequential manner:(1) Startup of the Linux kernel(2) Init program starts and launches various loc
Android-init process (1)
The init process is the first process pid started by android. 1. It mainly does the following:
* Parse the configuration file
* Perform the early_init init early_boot boot operation based on the configuration file.
* Set Property Services
This section describes how to parse the init. rc file and run zygote.
1. parse the init. rc configur
The init process is the first process that Android starts with a process PID of 1. It mainly does the following several things:* Parse configuration file* Operation according to the configuration file early_init init early_boot boot* Set Property ServiceThis section explains how to parse init.rc files and run zygote.1. Parsing the init.rc configuration file/**init.c*/In the main function, perform the follow
androidruntime. CPP, the execution of zygoteinit. Main () completes a split. The split child process continues to initialize the Java layer architecture. The split process is system_server. Every time the system requires an Android Application to be executed, zygote will fork a sub-process to execute the application. The advantages of doing so are obvious: the zygote
whether it has a corresponding capability.Here is a list of capabilities designed by Linux, and interested partners can read it again: http://man7.org/linux/man-pages/man7/capabilities.7.html.These are the core elements of Linux's uid/gid-based security mechanism. Next we look at the Android permission-based security mechanism, which also has three roles: apk, signature, and permission,6 as shown:Figure 6 Permission security mechanism for AndroidAndr
]; CharDex2oatflagsbuf[property_value_max]; CharDex2oatimageflagsbuf[property_value_max]; CharExtraoptsbuf[property_value_max]; CharVolddecryptbuf[property_value_max]; ... /** Initialize the VM. * * The javavm* is essentially per-process, and the jnienv* is per-thread. * If This call succeeds, the VMs are ready, and we can start issuing * JNI calls. */ if(JNI_CREATEJAVAVM (PJAVAVM, penv, initargs) 0) {Aloge ("JNI_CREATEJAVAVM failed\n"); return-1; } return 0;}voidAndroidrunt
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.