Android
This section covers the Android platform itself: application entry points, lifecycle and process behavior, UI foundations, system services, storage, background execution, build tooling, performance, inter-process communication, and graphics.
For a practical learning path, start with components and lifecycle, then continue with Context, resources, UI, storage, and background work. Build, performance, IPC, system services, and graphics topics are most useful after the platform fundamentals.
Platform and UI fundamentals
- Android Components - application entry points, intents, process boundaries, and component exposure.
- Activity, Fragment & Lifecycle - lifecycle transitions, configuration changes, state restoration, and process death.
- Context & Resources - context lifetimes, resources, configuration, and localization.
- View System / XML UI - measurement, layout, drawing, custom views, RecyclerView, and View Binding.
- Android System Services - platform services obtained through
Contextand their lifecycle and permission constraints.
Data, execution, and system boundaries
- Storage - Room and SQLite, preferences, files, migrations, and storage selection.
- Background Work & System Behavior - WorkManager, foreground services, alarms, Doze, and background restrictions.
- Binder IPC and AIDL - Binder, cross-process calls, AIDL contracts, limits, lifecycle, and security.
Build, performance, and memory
- Gradle & Build System - Gradle, Android Gradle Plugin, variants, dependency configurations, caching, and reproducibility.
- Performance & Memory - ANRs, jank, allocations, leaks, profiling, R8, and runtime performance.
Graphics and rendering
- Android Canvas - immediate-mode 2D drawing and custom rendering.
- AGSL and RuntimeShader - Android Graphics Shading Language, shader effects, and Compose integration.
- OpenGL ES - programmable GPU rendering on Android.
- Vulkan - explicit low-level graphics and compute APIs.
- Google Filament - real-time physically based 3D rendering.
- 2D and 3D Rendering - API selection and rendering architecture trade-offs.