Android

Articles on Android performance, Kotlin optimization, Gradle builds, and building responsive Android apps.

942 Articles · 161 Companies · 43 Topics

Android engineering articles 841–870 of 942

Badoo Jun 8, 2017

Reactive Camera Implementation with Camera2 API on Android - Part 1

Arkady Gamza from Bumble Tech tackles Android's notoriously complex Camera2 API by wrapping it in RxJava2 observables. The result? A reactive camera implementation that turns callback hell into elegant, readabl...

Vinted May 29, 2017

Kotlin for Mobile Development

Martynas Jurkus from Vinted reveals how his team bet on Kotlin two years before Google officially backed it. The result? A complete transformation of their Android development workflow.

Zalando May 10, 2017

Detecting List Items Observed by User

Zalando's engineering team faced a tricky challenge: how do you know if a user actually *saw* an item in a scrolling list, not just flew past it?

LinkedIn May 4, 2017

Mobile Crash Reporting at LinkedIn

LinkedIn built their own crash reporting system instead of using third-party tools. Here's why that decision paid off.

Airbnb May 1, 2017

Messaging Sync: Scaling Mobile Messaging at Airbnb

Zhiyao Wang and the Airbnb team tackled a massive problem: their mobile inbox was loading like a 2001 webmail client. With 100k+ messages per hour, every tap meant a network request, killing UX on slow connecti...

Badoo Apr 24, 2017

Writing a Custom Android Component for React Native

Guillermo Orellana from Bumble's tech team tackles React Native's biggest question: Can you actually integrate complex native Android components without losing your mind?

Shopify Apr 13, 2017

Building a Dynamic Mobile CI System

Shopify slashed their mobile CI deploy times from 2.5 hours to 15 minutes. Here's how they built a system that scales horizontally without breaking a sweat.

Bumble Apr 5, 2017

Breaking the Limitations of Calabash Android

Rajdeep Varma from Badoo cracked a problem that's plagued Android test automation for years. His solution lets Calabash test anything on the device, not just your app's UI.

Badoo Apr 5, 2017

Breaking the Limitations of Calabash Android

Rajdeep Varma from Badoo cracked a problem that's plagued mobile test automation for years: Calabash could only test what's inside your app, while Appium couldn't use backdoor methods. His solution? Merge the b...

Callstack Mar 24, 2017

Implementing Android Navigation Drawer and Status Bar in React Native

Callstack tackles one of React Native's most frustrating Android UX challenges: making the navigation drawer and status bar play nicely together. Spoiler: the default behavior is broken.

React Native Blog Mar 13, 2017

Better List Views

React Native just killed ListView. The new list components solve memory leaks, stale rows, and ignored bugs that plagued mobile developers for years.

Bumble Feb 28, 2017

Android Handler Memory Leaks

Dima Voronkevych from Bumble's Android team reveals how a simple postDelayed() call can silently keep 7 Activity instances alive in memory. Even with garbage collection, your app might be one rotation away from...

Badoo Feb 28, 2017

Android Handler Memory Leaks

Dima Voronkevych from Bumble's Android team reveals how a simple Handler.postDelayed() call created 7 Activity instances in memory when only 1 should exist. The garbage collector couldn't save them.

React Native Blog Feb 14, 2017

Using Native Driver For Animated

Your React Native animations are probably running on the wrong thread. Here's how one config flag can eliminate frame drops when JavaScript gets blocked.

Badoo Feb 13, 2017

Mobile App Testing Tips and Tricks

Alexander Khozya from Bumble's mobile QA team shares battle-tested strategies that caught critical bugs before millions of users did. His team's approach to testing saved them from costly re-submissions and use...

Badoo Feb 9, 2017

Dockerizing Calabash Android Testing on macOS

Rajdeep Varma from Badoo (now Bumble) tackled a problem that sounds impossible: running Android device tests inside Docker on macOS when Docker can't even see USB devices. The workaround? Brilliantly hacky.

Freeletics Feb 7, 2017

Motion Recognition for Fitness on Android Wear

Edward Dale from Freeletics shows how a simple peak detection algorithm can count pushup reps on Android Wear with surprising accuracy. The secret? Freeletics-style pushups include a hand lift that creates a pe...

Klarna Jan 12, 2017

Four Load Testing Mistakes Developers Love to Make

Klarna Engineering found that developers' optimism about their own code creates predictable load testing blind spots. Here are the four mistakes that keep biting teams before Black Friday.

Twitch Jan 12, 2017

A/B Testing using Google’s Staged Rollouts

Twitch discovered that Google Play's staged rollouts create biased user groups, breaking standard A/B testing assumptions. Here's how they adapted.

Adevinta Germany Dec 5, 2016

Checkstyle on Changed Files with Gradle

Marc Prengemann from mobile.de faced 30,000+ Checkstyle violations in their Android codebase. Instead of grinding to a halt, his team found a smarter way forward.

React Native Blog Dec 5, 2016

Easier Upgrades

React Native upgrades used to be a nightmare of merge conflicts and lost changes. The React Native team just changed that with a clever Git-based solution.

Airbnb Dec 1, 2016

Epoxy: Airbnb's View Architecture on Android

Eli Hart from Airbnb reveals how they eliminated RecyclerView boilerplate while building complex screens with 8+ view types. Their solution handles diffing, animations, and state management automatically.

Uber Dec 1, 2016

Engineering the Architecture Behind Uber’s New Rider App

Uber completely rewrote their rider app from scratch. Here's why they threw away years of code and started over.

Etsy Nov 4, 2016

Crashcan: Building a Better Mobile Crash Analytics Platform

Etsy built Crashcan, their own mobile crash analytics layer on top of a third-party provider. Why not just use the vendor's dashboard?

React Native Blog Oct 25, 2016

React Native 0.36: Headless JS, Keyboard API, and More

React Native 0.36 just dropped with game-changing background task support. If you've been waiting to run JavaScript while your app sleeps, this is your moment.

Instacart Sep 12, 2016

Offline First: Introducing TrueTime for Swift and Android

Instacart shoppers were losing minutes in grocery store dead zones. The culprit? You can't trust device clocks when every second counts.

Hootsuite Sep 6, 2016

Mobile Compose Refresh Architecture

Madeleine Chercover from Hootsuite tackled a 3,500-line Android activity that had become a maintenance nightmare. Her solution? A modular MVVM architecture that makes features easy to add and hard to break.

Atlassian Aug 16, 2016

Android Schemas for Mobile Development

Dan Lew from Atlassian reveals how Trello Android went from dropping the entire database on every schema change to implementing proper upgrades. The reason? They were secretly building offline mode.

Twitch Aug 8, 2016

Improving Chat Rendering Performance

Twitch was dropping frames like crazy. Chat messages were taking 200ms to render when they had just 16.667ms to work with for smooth 60fps video.

Zalando Jul 15, 2016

Dynamic App Content: An Introduction to Truly Native Apps

Zalando faced an impossible triangle: daily content updates, premium native UX, and distributed teams without native experience. Their solution? Server-driven UI before it was cool.