如何在 Android 中实现持久队列

How to implement a persistent queue in Android

我想在 Android 中实现一个持久队列。本质上是一个存储数据的队列,直到另一个线程接收它并将其发送到某个地方。数据存储或使用的顺序并不重要(例如 FIFO、LIFO、LILO 等)。 Android 中是否有支持此功能的现代图书馆?

我在 SOF 上发现了一个先前的问题,但这是 2012 年的问题:How to realize a persistent queue on Android

有很多方法可以做到这一点。您可以通过将集合保存到 SQLite 之类的数据库中来持久化集合,将其序列化为文件并在需要时反序列化,或者您可以将其保存在 Android.

的 SharedPreferences 中

总之有一个很酷的库叫Hawk (https://github.com/orhanobut/hawk) 那是一个

Secure, simple key-value storage for android

Hawk 的工作原理:

如果您查看 Hawk 源代码,您会发现它使用 SharedPreferences 将数据保存到磁盘。它序列化您想要保留的对象并将其作为字符串保存到 SharedPreferences 中。

引用和图片来自 Hawk github 页面。

您可以在这里找到其他替代方案(在 "Persistence" 部分):https://github.com/codepath/android_guides/wiki/Must-Have-Libraries

你可以看看Priority Jobqueue

它可以选择保留作业并确定它们的优先级。