Square has an open source project name Tape http://square.github.io/tape/ that implements a persistent file backed queue. All of the examples seem to indicate that objects can be added to the queue from the main thread. However, every other best practice for android seems to indicate that doing I/O on the main thread is just playing chicken with ANRs.
Is the Square Tape file backed queue designed to be used from the main thread? If so, what makes it reliably safe to used from the main thread without the fear of an ANR vs any other form of I/O?