java - Square Tape file backed queue 可以从 android 的主线程使用吗?

标签 java android multithreading square square-tape

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/

相关文章:

android - 为什么我应该在主要 Activity 和 fragment 之间进行通信时实现接口(interface)

c# - 优化文件操作

c# - 如何等待嵌套任务?

java - 反序列化从服务器返回的 JSON(包含 HashMap)

java - 通过 Ajax 创建 Java 对象

java - 自 API 26 起,如何从现有文件 URI 保存/覆盖文件?

c++ - 在线程退出时重生线程

java - Eclipse - Android 设备选择器中的目标 "unknown"

java - 如何在 Java 中查找 CPU 密集型类?

android - 单个进程的多个 setOnClickListener