This comprehensive glossary covers key terms related to Android development, app optimization, and image compression. Whether you're a beginner or experienced developer, this resource will help you understand the technical concepts behind mobile app development.
A
AAB (Android App Bundle)
A publishing format introduced by Google that includes all your app's compiled code and resources, but defers APK generation and signing to Google Play. This results in smaller download sizes for end users as Google Play generates optimized APKs for each device configuration.
AAPT (Android Asset Packaging Tool)
A build tool that compiles resource files (like XML layouts and images) into binary assets and generates the R.java file containing resource IDs. AAPT2 is the newer version with improved incremental build support.
ADB (Android Debug Bridge)
A command-line tool that allows communication between your development machine and an Android device or emulator. Essential for installing apps, debugging, and accessing device logs.
Alpha Channel
The transparency layer in an image format. In Android development, PNG and WebP formats support alpha channels, allowing for transparent or semi-transparent pixels in UI elements and icons.
API Level
An integer value that uniquely identifies the framework API revision offered by a version of the Android platform. For example, Android 15 is API Level 35. Developers specify minimum and target API levels in their app's manifest.
APK (Android Package)
The file format used to distribute and install Android applications. An APK contains all the app's code, resources, assets, and manifest file in a compressed archive.
AVIF (AV1 Image File Format)
A modern image format based on the AV1 video codec, offering better compression than WebP. Supported on Android 12+ (API 31). While more efficient, WebP remains more widely compatible.
B
Build Variant
A unique combination of build type and product flavor in Gradle. Common variants include debug and release, each with different configurations for signing, optimization, and resource inclusion.
C
Client-Side Processing
Computation performed on the user's device rather than on a remote server. ApkBaba uses client-side image processing to ensure privacy and eliminate the need to upload sensitive assets.
Core Web Vitals
A set of metrics Google uses to measure user experience: Largest Contentful Paint (LCP), First Input Delay (FID), and Cumulative Layout Shift (CLS). Important for both web and Progressive Web Apps.
D
Density Bucket
Android's system for categorizing screen densities: ldpi, mdpi, hdpi, xhdpi, xxhdpi, and xxxhdpi. Each bucket requires different image resolutions to ensure crisp visuals across devices.
DPI (Dots Per Inch)
A measurement of screen pixel density. Android uses density-independent pixels (dp) to ensure consistent UI sizing across different screen densities. 160 dpi is the baseline (mdpi).
Drawable
A general abstraction for graphics in Android. Can be bitmap images, vector graphics (VectorDrawable), or programmatically defined shapes. Stored in res/drawable directories.
G
Gradle
The build automation system used by Android Studio. Gradle scripts (build.gradle or build.gradle.kts) define dependencies, build configurations, and compilation settings for Android projects.
J
JPEG (Joint Photographic Experts Group)
A lossy image compression format ideal for photographs. Does not support transparency. Generally produces smaller files than PNG for photographic content but lacks alpha channel support.
L
Lossless Compression
Image compression that preserves all original data, allowing perfect reconstruction. PNG uses lossless compression. WebP supports both lossless and lossy modes.
Lossy Compression
Image compression that discards some data to achieve smaller file sizes. JPEG and WebP (in lossy mode) use this approach. The trade-off is between file size and visual quality.
M
Manifest (AndroidManifest.xml)
An XML file that provides essential information about your app to the Android system, including package name, permissions, components (activities, services), and minimum SDK version.
Material Design
Google's design system providing guidelines for visual, motion, and interaction design across platforms. Includes specifications for icon sizes, color palettes, and component behavior.
Mipmap
A special resource directory in Android specifically for app launcher icons. Unlike drawable resources, mipmaps are preserved at different densities even when resource shrinking is enabled, ensuring icons always display correctly.
P
PNG (Portable Network Graphics)
A lossless image format supporting transparency. Widely used for UI elements and icons in Android development. Generally larger file sizes than WebP for equivalent quality.
ProGuard
A code shrinker, optimizer, and obfuscator for Java bytecode. Reduces APK size by removing unused code and shortening class/method names. R8 is the modern replacement with better performance.
R
R8
Google's code shrinker and obfuscator that replaced ProGuard as the default in Android Studio. Offers better optimization and faster build times while maintaining ProGuard rule compatibility.
Resource Shrinking
A Gradle feature that removes unused resources from your app during the build process. Enabled with `shrinkResources true` in build.gradle, it works alongside code shrinking to minimize APK size.
S
SDK (Software Development Kit)
A collection of tools, libraries, and documentation for developing Android applications. The Android SDK includes the platform tools, build tools, and platform-specific libraries.
SVG (Scalable Vector Graphics)
An XML-based vector image format. In Android, SVGs are converted to VectorDrawable format, allowing resolution-independent graphics that scale perfectly across all screen sizes without quality loss.
V
VectorDrawable
Android's XML-based vector graphics format. Defines shapes using paths and geometric primitives. Ideal for icons and simple illustrations as they scale without pixelation and have tiny file sizes.
W
WebP
A modern image format developed by Google that provides superior compression for both lossy and lossless modes compared to JPEG and PNG. Supports transparency and is natively supported on Android 4.0+ (API 14). Recommended by Google for Android app assets.
X
XML (eXtensible Markup Language)
A markup language used extensively in Android for defining layouts, resources, manifests, and vector graphics. Android Studio provides visual editors for XML files but developers often edit XML directly for precise control.
💡 Contribute to This Glossary
Notice a missing term or have a suggestion? We're constantly expanding this resource. Contact us to suggest additions or corrections.
Related Resources
- Android Development Blog - Tutorials and best practices
- WebP Converter Tool - Optimize your app assets
- About ApkBaba - Learn about our mission