Square有一个开源项目名称Tape http://square.github.io/tape/,它实现了一个持久文件支持的队列。所有示例似乎都表明可以从主线程将对象添加到队列中。然而,android的所有其他最佳实践似乎表明在主线程上进行I / O只是在玩ANR的鸡。
Square Tape文件支持的队列是否设计为从主线程使用?如果是这样的话,是什么让它可以安全地从主线程中使用而不用担心ANR与任何其他形式的I / O?
答案 0 :(得分:1)
如果您查看http://square.github.io/tape/上的示例,基本上您应该在每个Task继承类的线程中使用服务来完成工作,因为Task具有可以执行的概念。
如果您愿意,可以使用HandlerThread,AsyncTask甚至Executors进行一些探索,并测试哪些更符合您的需求。