System Design Space
Knowledge graphSettings

Updated: April 17, 2026 at 11:16 PM

Android: mobile OS

medium

Android layers, app launch path, differences from Linux, and the mobile constraints that shape client and API architecture.

This chapter is useful because it quickly moves the conversation away from server-side assumptions and into a world where battery, memory, network quality, and app lifecycle constantly shape architecture.

In real engineering work, it helps you design mobile clients and APIs around background limits, local state, synchronization, and the high cost of mistakes under weak connectivity.

In interviews and design reviews, it is especially valuable when you need to show that mobile architecture is not a smaller backend, but a different set of constraints and trade-offs.

Practical value of this chapter

Mobile constraints

Supports architecture decisions under battery, memory, network, and background limits.

Client-server contracts

Improves API and sync design for unstable networks and local-first mobile behavior.

Runtime behavior

Explains how app lifecycle constraints shape reliability and user experience on the device.

Interview realism

Adds practical depth to mobile architecture scenarios with device-level constraints.

Source

Android

Android architecture, features and application scenarios.

Перейти на сайт

Android is best understood not as just "Linux on a phone," but as a mobile platform where kernel behavior, system services, security policy, and app lifecycle are all tuned around constrained devices.

Basic Android architecture

The stack is easiest to read as layered responsibilities: apps and framework at the top, runtime and native libraries in the middle, hardware mediation and the Linux kernel underneath.

App layer

Applications and framework

Top layer

Applications

User applications, system UI, and the main entry points into device workflows.

  • System UI
  • Launcher
  • Apps

Application framework

System services, window and activity management, and shared app APIs.

  • ActivityManager
  • WindowManager
  • Content Providers
Runtime boundary

Runtime layer

Runtime and native libraries

Code execution

Android Runtime (ART)

App execution, memory management, and class loading.

  • ART
  • GC
  • Class Loader

Native libraries

Platform libraries for graphics, media, and local storage.

  • Graphics
  • Media
  • SQLite
Platform boundary

Platform layer

HAL and Linux kernel

OS core

Hardware Abstraction Layer (HAL)

Access abstraction for camera, audio, sensors, GPS, and modem.

  • Camera
  • Audio
  • Sensors

Linux kernel

Scheduling, memory, networking, and device drivers.

  • Scheduler
  • Memory
  • Drivers
Hardware

Hardware

Hardware

CPURAMGPUModemStorage

How a mobile application starts

Even one screen on a phone crosses several layers: launch request, framework services, runtime setup, kernel mediation, and finally the graphics path to the display.

Mobile application launch

From launch request to rendered frame: how startup moves through Android layers

Application layer

Layer 1
LauncherActivityUI

Android framework

Layer 2
ActivityManagerWindowManagerIntent

Android runtime

Layer 3
ARTGCClass Loader

Native libraries

Layer 4
GraphicsMediaSQLite

Linux kernel

Layer 5
SchedulerMemoryDrivers

Hardware

Layer 6
GPUDisplaySensors
Hardware path

Active step

Click "Start" to walk through the launch chain.

Key Android features

  • Strict app isolation and a permission model built into the platform.
  • Lifecycle management for screens, services, and background work.
  • Tight control over background activity to protect battery, memory, and network usage.
  • Deep integration with sensors, camera, location, and telephony.
  • A standardized path for app delivery, updates, and staged rollouts.

How Android differs from classic Linux

Android uses the Linux kernel, but wraps it in its own user space, system services, and the bionic library instead of glibc.

Apps run on ART and follow an Activity/Service lifecycle rather than the model of long-lived general-purpose processes.

Security is centered on app sandboxes, permissions, and tightly mediated access to device capabilities.

The platform is designed around battery efficiency, mobile networking, sensors, and intermittent connectivity.

Why this matters for systems design

  • Mobile clients live under tight battery, CPU, and memory budgets, so architecture has to spend resources carefully.
  • Connectivity is unstable, so local state, caching, retries, and sync strategies matter much more than in a server-only system.
  • OS limits on background work shape notifications, sync timing, and when data actually reaches the server.
  • Permissions, privacy, and sensor access change the contract between product design, API design, and user experience.
  • Staged releases and on-device diagnostics are as important on mobile as backend operations are on the server side.

Related chapters

Enable tracking in Settings