Android
Articles on Android performance, Kotlin optimization, Gradle builds, and building responsive Android apps.
Android engineering articles 661–690 of 942
Mobile App Launch Performance II
At Farfetch, a 0.1 second delay in warm app launch costs $4.2M annually. That's less time than it takes to blink.
Mobile App Launch Performance
Gonçalo Alvarez from Farfetch drops a hard truth: 86% of users uninstall apps after one use due to poor performance. Your launch time might be costing you customers before they even see your product.
Decomposing network calls on the Lyft mobile apps
Lyft's mobile apps used to poll a single endpoint every 5 seconds for everything. That "Universal Object" became their biggest reliability nightmare.
Our Counterintuitive Fix for Android Path Normalization
Dropbox Android users couldn't see folders with Cyrillic characters or certain special names. The obvious fix? Way too risky to attempt.
Pre-submit UI Tests at Pinterest
Pinterest's UI test suite was failing more than 50% of the time. Engineers were drowning in false positives, and tests had lost all credibility.
Improve Android App Screen Launch Times Using LazyLifecycle Callbacks
Microsoft Teams Android engineers faced a critical problem: heavy initialization code in lifecycle callbacks was killing app launch times. Their solution? Get lazy.
Learning Flutter's new navigation and routing system
John Ryan from Flutter's team tackles one of mobile dev's messiest problems: navigation. But the solution might be more complex than the problem itself.
Custom View from Scratch Part III: Performance and Optimisation
Eugene Zubkov from Revolut hit a wall building a custom Android chart: it literally disappeared due to texture size limits. His debugging journey reveals critical performance traps most Android devs don't see c...
GitHub Mobile and GraphQL
Hesham Salman from GitHub reveals how GraphQL eliminated over-fetching and let their mobile team ship features at warp speed. The secret? Letting the client define exactly what data it needs.
New Rider App Architecture
Uber threw away years of code and rebuilt their rider app from scratch. Here's why that radical decision paid off.
5 Minute DevOps Effective Testing
Walmart's DevOps team has a bold claim: if you're not testing during development, you're risking the business. Here's why your testing strategy might be fundamentally broken.
Seamlessly Swapping the API backend of the Netflix Android app
Netflix Android engineers migrated 170 API endpoints from a monolith to a new microservice without users noticing. Here's how they pulled it off over a year.
Motion Engineering at Scale
Airbnb was shipping hundreds of features, but custom animations were getting cut due to complexity. Their solution? A declarative framework that reduced transition code from hundreds of lines to just a few.
Data Storage Best Practices with Jetpack
Florina Muntenescu and Rohit Sathyanarayana from Google reveal why SharedPreferences has been secretly blocking your UI thread and causing ANRs. Their solution? Jetpack DataStore, a complete reimagining of Andr...
Android GPU Inspector: Open Beta Release
Jay Kong from Google's Gaming and Graphics team just opened the beta for Android GPU Inspector, and early results are impressive. Diablo Immortal cut vertex bandwidth by 45%, while Crash Bandicoot slashed frame...
Improved Localization with Custom TextView Effects
Anton Begeima from OkCupid's engineering team turned a localization nightmare into an elegant solution. Instead of managing separate images for every language, his team built a custom TextView that handles text...
Tracing at Slack: Thinking in Causal Graphs
Slack processes 8.5 billion spans daily, but their tracing system looks nothing like traditional distributed tracing. Here's why they rebuilt it from scratch.
Clean Android WebView Caching
Microsoft Teams Android engineers cut WebView initialization time by 70% using a clever caching technique. Here's how they avoided memory leaks while sharing WebViews across activities.
Migrating Tokopedia Academy App From Dagger Android Into Hilt!
Yehezkiel L from Tokopedia cut their dependency injection boilerplate dramatically by migrating from Dagger Android to Hilt. The result? Cleaner code, faster onboarding, and way less confusion for their team.
Implementing the Android Navigation Library
Maria Sharkina from DoorDash discovered that Android's Navigation Library has a critical flaw: it forces navigation before your app is ready. Here's how her team solved it without breaking deep links or the bac...
Using Gradle Composite Builds as a BuildSrc Replacement
Yury from Bumble Tech tackles a painful Gradle problem: buildSrc invalidates your entire build cache with every change. Here's how composite builds solve it without sacrificing IDE support.
Improve Android Testability with Fakes and Factories
Brian Plummer from OkCupid hit a wall adding a simple analytics event: his unit tests broke because static constructs were calling the analytics library directly. Here's how he fixed it with a pattern that made...
Shipping Two Apps In One Android
Snapchat shipped two complete Android apps in a single APK to A/B test their rewrite. The engineering challenge? Android wasn't designed to support this at all.
Leveraging Mobile Infrastructure with Data-Driven Decisions
Spotify's mobile infrastructure team turned build time chaos into predictable performance. Their secret? Making every engineer a data scientist.
React Native Core Principles and Best Practices
The React Native team at Facebook just pulled back the curtain on how they decide what to build next. Spoiler: cross-platform consistency isn't their top priority.
App Size Matters II
What if I told you a single 15MB increase in your app size could cost your business $1M annually? Farfetch's mobile team did the math, and the numbers are eye-opening.
App Size Matters I
Gonçalo Alvarez from Farfetch drops a hard truth: your bloated app is costing you users, installs, and market share. Here's why app size is a business problem, not just an engineering one.
How We Ensure Credible Analytics on Dropbox Mobile Apps
Marianna Budnikova from Dropbox reveals why your mobile analytics are probably lying to you. And it's costing you two weeks every time you get it wrong.
Optimizing Notifications in Games
Google Play analyzed platform-wide notification data across all games and found something surprising: more notifications actually hurt retention.
Managing App Size for Super Apps
Hendro Riyadi from Bukalapak reveals how his team slashed their super app size by 35% while shipping new features in parallel. In emerging markets where users have limited data plans and older devices, this was...