top banner


In Android, an app is a collection of files and code that runs on an Android device. These apps are managed by the Android operating system, which is responsible for starting, stopping, and managing the app’s processes.

When an app is launched on an Android device, the operating system creates a new process for the app, which runs in the background. This process is responsible for executing the app’s code and managing its resources, such as memory and network connections.

Manage ART

The Android operating system uses a process management system known as the “Android Runtime” (ART) to manage app processes. ART is responsible for allocating memory and other resources to app processes, and for scheduling the execution of the app’s code.

Each app process runs in its own Linux process, with its instance of the Dalvik virtual machine. The Dalvik VM is a virtual machine that is optimized for Android and runs Java code. Each app process has its instance of the Dalvik VM, which runs the app’s code in a separate environment.

Launching the app

When an app is launched, the Android operating system creates a new Linux process for the app and creates a new instance of the Dalvik VM within that process. The app’s code is then loaded into the Dalvik VM, and the Dalvik VM starts executing the app’s code.

While an app is running, the Android operating system monitors the app’s process and will stops or kill the process if it is using too many resources, or if the user navigates away from the app.

Foreground and background process

There are two important types of processes in android: 1: Foreground and 2: background. Foreground process: the process that is running currently in the foreground and interacting with the user. The system will give a high priority to these processes, so they will not be killed easily. Background process: the process that is not running in the foreground. The system can kill background processes to free up resources, as they don’t need to be running for the app to function correctly.


However, Android also has a feature called “services” that allow apps to run background processes that are not associated with an active user interface. Services can be used to perform tasks such as playing music, downloading files, or sending and receiving network data, even when the user is not actively using the app.

In summary, Android manages app processes by creating a new Linux process and instance of the Dalvik VM for each app and using ART to allocate resources and schedule the execution of the app’s code. The operating system also monitors app processes and will stop or kill them if they are using too many resources, or if the user navigates away from the app.


ADB, or Android Debug Bridge, is a command-line tool that is used to develop and debug Android applications. ADB is a powerful tool that allows developers to interact with their Android device or emulator in a variety of ways. It is included in the Android SDK (Software Development Kit) and is used to perform a wide range of tasks, including

  • Installing and uninstalling apps
  • Copying files to and from the device
  • Running shell commands on the device
  • Debugging apps using JDWP (Java Debug Wire Protocol)
  • Profiling apps using method tracing
  • Capturing screenshots and videos of the device’s screen

Install android sdk

To use ADB, a developer must first install the Android SDK on their computer and set up their device or emulator for debugging. Once this is done, ADB can be used to interact with the device or emulator through the command line.

Another important component of ADB is the ADB daemon running on the device side. It runs as a background process and allows the command-line client on the host machine to interact with it.


AVD, or Android Virtual Device, is an emulator that allows developers to test and debug their Android applications on a computer, without the need for a physical Android device. An AVD is a configuration that defines the characteristics of an Android device, such as its screen resolution, memory size, and Android version.

A developer can create an AVD using the AVD Manager, which is a tool included in the Android SDK. Once an AVD is created, it can be used to run and test Android apps, just like a physical Android device. The developer can also configure an AVD to use specific Android versions, including different API levels, custom skins, and hardware properties.

AVDs are especially useful for developers who are developing apps for multiple different Android devices, as it allows them to test their apps on a variety of different device configurations without needing to have physical access to each device. It also allows developers to test their apps on older versions of Android, which can be useful for compatibility testing.

Leave a Reply

Your email address will not be published. Required fields are marked *