Android Expert
Author ProfileClaim This Author Profile
Prove ownership by publishing #HashtagPLUS and this profile link on your author page or an article under your byline. A moderator or admin will review the request before it merges into your real HashtagPLUS username.
🌐 dev.toSource
How Compose routes pointer and key events, and six production failure modes that break shortcuts, focus, and hover on large screens.
🌐 dev.toSource
Connect androidx.tracing 2.0, macrobenchmarks, and ProfilingManager into one loop that ends “cannot reproduce” tickets for good.
🌐 dev.toSource
Profile with Perfetto, choose computedStateOf or derivedStateOf, use keyed SideEffect, and dodge the traps that make tuning backfire.
🌐 dev.toSource
A field guide to cutting Android bitmap memory with three levers: Reduce, Reuse, and Recycle, from decode sizing to onTrimMemory.
🌐 dev.toSource
Compose makes system UI feel like a function call, but your process can die mid-call. Here are nine failure modes and how to fix them.
🌐 dev.toSource
Kotlin 2.5’s experimental Boolean helpers trim boilerplate, but they hide real traps in Compose, locks and nullable results.
🌐 dev.toSource
A one-line import change moved Compose tests to StandardTestDispatcher. Here’s what breaks, why, and how to fix a large suite safely.
🌐 dev.toSource
How launch, async, runBlocking, coroutineScope, supervisorScope and withContext differ, and the production failure modes that bite.
🌐 dev.toSource
How flatMapMerge, flatMapConcat and flatMapLatest differ on the same input, and the production failure modes each one hides.
🌐 dev.toSource
How to ship passkeys to a messy device fleet without stranding users on old handsets, broken providers, or dead ends