Supercharging Discord Mobile: Our Journey to a Faster App
Article Summary
Discord just cut startup times in half and eliminated those frustrating blank screens on budget Android devices. Here's how they did it.
Discord's mobile team tackled performance head-on in 2024, focusing on power users who push the app to its limits. Built on React Native, they optimized everything from server lists to emoji pickers, with special attention to low-end Android devices.
Key Takeaways
- Virtualized server list cut memory usage 14% and startup time 10% for 100+ server users
- Native chat optimizations reduced slow frames by 60% on older devices
- Built custom FastestList using native RecyclerView, eliminating blanking on $50 phones
- Switched animated emojis from GIF to WebP, achieving 60fps on low-end devices
- Rebuilt Android emoji picker natively to handle 250 animated emojis without crashing
Discord eliminated blanking across core flows and dramatically improved performance on budget devices through strategic native rewrites and custom virtualization.
About This Article
Discord's iOS media picker was lagging badly. Users had to wait up to 4.5 seconds for photo previews to load after switching from the system camera back to the app.
Ruby Feinstein's team switched to PHImageRequestOptionsDeliveryModeOpportunistic to load low-quality thumbnails faster. They also found that requesting 256x256 resolution hits a PhotoKit cache magic number, which returns previews almost instantly. The old approach used 370x370 resolution and was much slower.
The optimization got rid of the 4.5-second delay entirely. Users can now access recently captured photos in Discord's media picker without the wait.