Android Architecture Components

A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.

Now 1.0 stable

Manage your app's lifecycle with ease

New lifecycle-aware components help you manage your activity and fragment lifecycles. Survive configuration changes, avoid memory leaks and easily load data into your UI using LiveData, ViewModel, LifecycleObserver and LifecycleOwner.

Room: a SQLite object mapping library

Avoid boilerplate code and easily convert SQLite table data to Java objects using Room. Room provides compile time checks of SQLite statements and can return RxJava, Flowable and LiveData observables.

Learn about Architecture Components

Details on why and how to use Architecture Components in your apps — together or separately.

Handling lifecycles

Create a UI that automatically responds to lifecycle events.


Build data objects that notify views when the underlying database changes.


Store UI-related data that isn't destroyed on app rotations.


Access your app's SQLite database with in-app objects and compile-time checks.

Latest news and videos