An Encouragement to Keep Systemizing Your Business

Going on vacation wasn’t always enjoyable for me. Many times in my first business, I would work the entire time and I had anxiety anytime I was away from the internet and wasn’t able to check my…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Android Boot insights

As we all know Android system is built upon linux system with some additional features like wake locks, battery management and some other.

When we think about Android Boot, what comes in out mind is,

Today, I am going to arrange all this information in a sequence and will give insights for some of these topics.

Init, is first process started by Android kernel when we boots up device. As its first process, it has processId as 1.

INIT checks for some configuration files present at root directory, such as init.rc and init.XXXX.rc, where XXXX varies for each android device and its manufacturer.

This rc files contains information about

INIT further does 3 important things which plays vital role in loading android system.

INIT starts many native daemons such as,

a. installd: responsible for app installations, creating or removing directories on android file system.

b. rild: Radio interface layer daemon

c. adbd: Android device bridge daemon, responsible to perform work assigned by adb server module.

and some other daemons such as netd, logd, storaged etc.

Its not Dalvik/ART, its an instance of AppRuntime class.

It’s main job is to start ServiceManager and acts as an contextManager for binder transactions which are extremely important to do all low level communications in android system.

As we know, Zygote is base of all Java/Kotlin related classes, whenever we install any application or start any application then zygote creates its child process with which our application runs.

SystemServer plays vital role by starting services which are very important to load Android system and useful for applications as well.

As I had mentioned earlier, systemServer creates many services and registers it to ServiceManager(created by INIT). Whenever we need any service to be accessed, then we request serviceManager to get it.

Let’s find out how systemServer does its job,

ActivityManagerService is mainly responsible for maintaining lifecycle of activities and taking decisions while starting, closing and pausing activities.

It manages actvityRecords in its own tasks. For different app processes in application, different tasks will be maintained in ActivityManagerService which has single or multiple activityRecords.

PackageManagerService plays vital role in application installation and uninstallation.

When we try installing an application, PackageManagerService takes instance of installd to create directories on file system (Since packageManagerService don’t have root access, it cannot do it by itself.)

It further scans apk, checks for assets, resources, manifests, permissions and then install it on device with required permissions.

These all important things happens in background after starting the device before loading UI screen.

Add a comment

Related posts:

Bruta flor

A TV que eu religuei mesmo sabendo. O pão de côco que eu me arrependi de ter comprado. Os tweets que ninguém lê. Aquela rotina. A cerveja que eu nem devia. O rio que corre pro mar. O amor que eu mato…

Aaron Pico backs it up at Bellator 183

When Bellator holds their events in San Jose, they usually put on some events that could only be classified as “hot fire”. Bellator 183 was no exception and with the some of their best fighting on…

How we developed and why we entered the market

Foundation of our Digital Finance agency was laid in 2013 on the basis of some industry-specific finteсh media. We published materials dedicated to payment services, cryptocurrencies and e-commerce…