Airbnb Dec 17, 2021

Airbnb's Page Performance Score on Android

Article Summary

Airbnb moved beyond Time To Interactive to measure what users actually see. Their Page Performance Score tracks visual wait time, not just code execution.

Airbnb's Android team built a Fragment-based instrumentation framework to capture user-centric performance metrics. This is part 4 of their series on implementing PPS across platforms.

Key Takeaways

Critical Insight

Airbnb created a standardized Android framework that measures perceived wait time instead of backend execution time, giving engineers actionable insights into real user experience.

The team's approach to calculating view visibility during RecyclerView scrolling solved a tricky performance vs. accuracy tradeoff.

About This Article

Problem

Airbnb engineers faced a challenge with tracking view visibility during RecyclerView scrolling. The problem was that visibility calculations happened frequently and recursively across thousands of views, which threatened to hurt performance.

Solution

Luping Lin's team built algorithms that cut down how often and how complex these calculations needed to be. They cached visibility states within the RecyclerView so that only views at least 10% visible on screen would be counted.

Impact

With these improvements, the team could accurately measure Additional Load Time and Rich Content Load Time metrics. The RecyclerView maintained good performance even when users scrolled quickly.

Recent from Airbnb

Related Articles