droidconIN 2016

The sixth edition of droidconIN

Prateek Srivastava


Persistent Queues with Tape

Submitted Jun 16, 2016

Processing background tasks in Android apps can be tricky. You need to account for low memory situations, running out of battery and flaky networks.

Persisting tasks to disk helps you reliably handle such edge cases. Enter Tape, a collection of queue related classes. This talk will be primarily about it’s core component, QueueFile — a lightning fast, transactional, persistent file-based FIFO.

Veterans — we’ll take a deep dive into it’s technical implementation and see how it guarantees both reliability and efficiency.

Beginners — we’ll compare it to alternatives and dig into it’s API with real world examples.


  1. Why you need a persistent Queue.
  2. Traditional Solutions
  3. Tape
  4. QueueFile Format
  5. QueueFile Technical Implementation
  6. QueueFile API
  7. QueueFile Real World Examples
  8. Beyond Tape

Speaker bio

I work on the Platform team at Segment, mostly on our client libraries.

I enjoy working with Android and open source! I’ve worked on libraries such as rx-preferences and Dart, and contribute to others such as Tape and AssertJ-Android.

Outside of Android, I’ve been hacking tons on Go and iOS (and more reluctantly, JavaScript).





{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}