Posts

Showing posts with the label Android Development

LeakCanary ObjectWatcher Deep Dive - The Silent Guardian of Memory

Image
LeakCanary ObjectWatcher Deep Dive — How Android Leak Detection Starts Understand how ObjectWatcher uses weak references, reference queues, and retained-object checks to power LeakCanary’s memory leak detection flow. In the previous article, we looked at why memory leaks matter and how LeakCanary detects them at a high level. This time, we are going one layer deeper into the internal component that quietly powers the first stage of leak detection: ObjectWatcher . If you want to understand LeakCanary beyond setup snippets and notifications, ObjectWatcher is the right place to start. Table of Contents 1. What Is ObjectWatcher? 2. Why ObjectWatcher Matters 3. How ObjectWatcher Works Internally 4. Watching Destroyed Objects 5. Weak References and ReferenceQueue 6. How Retained Objects Are Detected 7. Manual Watching for Custom Objects 8. Why This Matters for Senior Android Engineers 9. Analyze ...

I Audited Google’s “Now in Android” Build Architecture (Here is what I found)

Image
  The Black Box of Gradle Builds As Android applications grow, they inevitably turn into deeply nested, multi-module mazes. You start with a clean architecture, but fast forward 6 months, and you are staring at a 5-minute build time, wondering where it all went wrong. Is it a circular dependency? Is a rogue module breaking the Configuration Cache? Are we still running KAPT when we don’t need to? For a long time, answering these questions required digging through Gradle build scans and manually tracking build.gradle files. Web developers have had "Google Lighthouse" for years to instantly audit their site’s health. I realized Android developers needed the exact same thing for their build systems. So, I built Gradle Lighthouse — an open-source, zero-configuration build intelligence plugin. To test if it was truly enterprise-ready, I decided to point it at the gold standard of modern Android architecture: Google’s Now in Android (NIA) repository. The Experiment: Auditing “No...

Ultimate Android SDE2/SDE3 Interview Roadmap (2026)

Image
Complete Roadmap for Senior Engineers Android interviews have changed significantly over the last few years. It is no longer enough to memorize activity lifecycle callbacks, RecyclerView optimizations, MVVM definitions, or basic coroutine syntax. Senior Android interviews now focus much more on architecture tradeoffs, scalability, debugging ability, performance optimization, concurrency reasoning, Jetpack Compose internals, modularization strategies, and production engineering decisions. This roadmap is designed for Android engineers preparing for modern SDE2 and SDE3 interviews. It brings together the most important topic areas into one structured series so you can move from fundamentals to senior-level reasoning in a deliberate way. Best for: Android engineers targeting product companies, senior Android roles, architecture-heavy rounds, and system design discussions. Why This Roadmap Matters A few yea...