Beyond Exceptions: Building Resilient Android Apps with Safety-Critical Principles

When your Android app crashes, users uninstall. This session explores how to handle failures before they become crashes, focusing on Android's unique reliability challenges. We'll establish the critical distinction between domain errors (expected business logic failures) and system failures (unrecoverable hardware/OS issues), implementing each with appropriate strategies. You'll learn to build a custom Result monad that provides compile-time safety beyond Kotlin's built-in limitations, and we'll see how NASA's mission-critical safety rules can be applied in the Android world. You'll also master native crash debugging techniques for those unavoidable system failures. From handling hardware state corruption to graceful degradation under memory pressure, you'll walk away with battle-tested patterns for Android's trickiest reliability scenarios: complex state management, native code integration, and building apps that degrade gracefully rather than crash catastrophically. Target audience: Individual contributors and engineering managers looking to improve app stability and reduce crash rates through principled error handling.

  • Bogusz Pawłowski Staff Software Engineer @ SpotOn


Summary

  • Dates 2025.09.11 / 16:20 ~ 17:00 (40min)
  • Place Koala
  • Language English

Intended audience

Individual contributors and engineering managers looking to improve app stability and reduce crash rates through principled error handling.

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android, Google Play and the Google Play logo are trademarks of Google LLC.

© 2014- DroidKaigi Committee