Menu

1 / 2

Lighthouse 100 and Still Crashes: OOM Explained

DEV Community·Ashish Kumar·6 months ago
#YgfErElb
#mobile#performance#memory#lighthouse#chrome
Reading 0:00
15s threshold

A Lighthouse score of 100 means the page loads efficiently in a clean, synthetic test environment; it says nothing about what happens after 6 hours of continuous use — a hundred route navigations, thousands of polling cycles, and a React Query cache holding responses that should have been evicted hours ago.

Why lab metrics miss this: Lighthouse runs a single page load on a clean browser instance. It cannot measure heap growth rate, memory fragmentation, or tab survival probability on a 3GB Android device. OOM tab crashes don't produce JavaScript errors — the renderer process just dies.

What this covers: What OOM crashes actually are and why Chrome's tab limits differ by device, why long-lived SPAs accumulate memory (route state, unbounded caches, subscription leaks), how to monitor heap growth in production, and strategies that keep apps stable over 8-hour sessions.

The Lab vs Field Gap

Lighthouse runs a single, synthetic page load on a clean browser instance with simulated throttling.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.