Dropbox

Making camera uploads for Android faster and more reliable

Mar 16, 2022Sarah Tappon and Andrew Haigh
Making camera uploads for Android faster and more reliable
SummaryAI, from the source post

This post details the rewrite of Dropbox's Android camera uploads feature. Key technical contributions include: designing a background reliability system leveraging WorkManager to handle Android's background restrictions, implementing intelligent retry logic with backoff intervals for failed uploads, improving upload performance by enabling parallel uploads using Kotlin coroutines and custom operators, optimizing memory usage by switching to direct byte buffers and reusing buffers for block reads to mitigate OOM crashes, and parallelizing the scanning and uploading processes to ensure prompt uploads even during full library rescans. The post also touches on validation strategies like running new components alongside old ones in production and comparing outputs.

More from the Mobile Camera Uploads Reliability and Performance trail