Multi-threaded Rendering on Android (with Litho & Infer)
summary
Facebook migrates the Android News Feed rendering off the UI thread by building a background layout pipeline with Litho and automating concurrency checks with Infer. The team converts thousands of specs, runs Infer continuously (p75 ≈ 25min) to find race reports (700+ fixed), avoids crash regressions, and reports up to a 42% improvement in smaller surfaces. Key engineering notes: precompute component trees, keep state functional or use volatile/synchronized carefully, and minimize coarse locks to prevent contention and deadlocks.
AI-written summary · about
chapters (7)
- 0:00Introduction to multi-threaded rendering
- 2:43Traditional Android UI limitations
- 6:39Litho framework overview
- 12:39Java concurrency challenges
- 21:33Infer static analyzer for concurrency
- 28:19Results and performance improvements
- 33:21Q&A session








