Square有个开源项目名称Tape http://square.github.io/tape/实现持久文件支持队列。所有示例似乎都表明可以从主线程将对象添加到队列中。然而,android 的所有其他最佳实践似乎都表明在主线程上执行 I/O 只是在玩 ANR 鸡。
Square Tape 文件支持队列是否设计用于从主线程使用?如果是这样,与任何其他形式的 I/O 相比,是什么让它可以从主线程可靠安全地使用而不用担心 ANR?
最佳答案
如果你看一下 http://square.github.io/tape/ 上的例子,基本上你应该在每个 Task 继承类的线程中使用服务来完成这项工作,因为 Task 具有可以执行的概念。
如果您愿意,您可以对 HandlerThread、AsyncTask 甚至 Executors 进行一些探索,并测试哪些更适合您的需求。
关于java - Square Tape file backed queue 可以从 android 的主线程使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21561634/