Litho: A declarative UI framework for Android


Litho uses a declarative API to define UI components. You simply describe the layout for your UI based on a set of immutable inputs and the framework takes care of the rest. With code generation, Litho can perform optimisations for your UI under the hood, while keeping your code simple and easy to maintain.

Asynchronous layout

Litho can measure and layout your UI ahead of time without blocking the UI thread. By decoupling its layout system from the traditional Android View system, Litho can drop the UI thread constraint imposed by Android.

Flatter view hierarchies

Litho uses Yoga for layout and automatically reduces the number of ViewGroups that your UI contains. This, in addition to Litho's text optimizations, allows for much smaller view hierarchies and improves both memory and scroll performance.

Fine-grained recycling

With Litho, each UI item such as text, image, or video is recycled individually. As soon as an item goes off screen, it can be reused anywhere in the UI and pieced together with other items to create new UI elements. Such recycling reduces the need of having multiple view types and improves memory usage and scroll performance.