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