ANDROID
ENGINEERING NOTES
Short, actionable technical notes on building production-grade Android apps. Focus: Compose, Performance, Security.
Get these daily on XLatest Notes
Navigation Compose 3: Type-Safe Routing Done Right
2026-02-21Master Navigation Compose 3 with type-safe arguments, Serializable support, NavigationSuite for tablets, and the new routing patterns that make navigation effortless.
Room + SQLCipher Deep Dive: Encrypted Database for Android
2026-02-20Master Room database with SQLCipher encryption: entities, DAOs, migrations, encrypted storage, and production patterns for secure Android apps.
Navigation Compose: Stop Fighting Your Router
2026-02-20A practical guide to Navigation Compose that will make your app flow feel natural. No more argument passing nightmares or navigation graph spaghetti.
Stop Recomposing Your List! LazyColumn Keys That Actually Work
2026-02-19Learn how to use stable keys in LazyColumn to prevent unnecessary recompositions and boost your Compose UI performance.
Coroutines + Flow Deep Dive: From Basics to Production Patterns
2026-02-19Master Kotlin Coroutines and Flow: suspend functions, structured concurrency, StateFlow, SharedFlow, error handling, and real-world patterns for Android.
Jetpack Compose: The One Mistake That's Killing Your LazyColumn Performance
2026-02-18Stop unnecessarily recomposing your LazyColumn items! Learn how to use keys properly and avoid the most common performance pitfall in Compose lists.
Hilt Dependency Injection Deep Dive: From Basics to Custom Scopes
2026-02-18Master Hilt in Android: custom scopes, navigation scopes, qualifiers, component dependencies, and real-world patterns for clean architecture.
WorkManager Deep Dive: Background Jobs That Actually Work
2026-02-17Master WorkManager for Android: periodic sync, constraints, chaining, retry policies, and real-world patterns for robust background processing.
Compose LazyColumn Stability Budget for User Directories
2026-02-17Teach Compose to skip useless work by stabilizing your user list models, derived filters, and side effects.
Compose LazyColumn Without Leaks: Stabilize Side Effects
2026-02-16How to keep a user directory fast by taming LazyColumn recomposition, stability, and coroutine side effects.
Stabilizing LazyColumn User Lists for Skip-Friendly Recomposition
2026-02-15How to structure user lists in Jetpack Compose so LazyColumn can skip work and stay memory-safe.
remember vs rememberSaveable in Compose: When to Use Each
2026-02-14Learn the difference between remember and rememberSaveable in Jetpack Compose and when each one prevents state loss during configuration changes.
Compose StateHolder vs ViewModel: When to Use Which
2026-02-13Stop putting everything in ViewModel. Learn when to use local StateHolder (remember { ... }) vs when you need a ViewModel for proper lifecycle awareness.
Why Your LazyColumn Recomposes Everything: Understanding Item Stability in Compose
2026-02-13Learn why your LazyColumn items keep recomposing and how to fix stability issues for smooth scrolling performance.
Compose Performance: It's Probably a Leak
2026-02-12When 'Compose is slow' is actually GC jank: how to find and fix memory leaks with LeakCanary (and correct side-effect cleanup).
Jetpack Compose LazyColumn Performance: Stability, Keys, and Recomposition You Can Predict
2026-02-12A beginner-friendly guide to speeding up Compose lists by fixing unstable models, adding stable keys, and avoiding accidental recompositions and side effects.
Compose Performance: Skipping & Stability (User List Edition)
2026-02-11Why your User List janks: unstable lambdas break skipping. Learn the fix with remember + method references, with beginner-friendly comments.