0

我正在构建一个简单的任务列表应用程序,它使用 Gson 库从共享首选项中存储和检索任务。在这一点上,没有任何明显的延迟或故障,所以我想知道它是否有必要或在某些时候可能变得有必要。例如,如果我决定切换到另一个本地数据源,如 SQLite 或 Room,是否有必要?

4

2 回答 2

2

如果我在 Android 上本地存储和检索数据,是否需要后台线程?

这通常是一个好主意。

我正在构建一个简单的任务列表应用程序,它使用 Gson 库从共享首选项中存储和检索任务。

如果您使用apply()onSharedPreferences.Editor来持久化您的更改,它正在为您在后台线程上完成工作。

我决定切换到另一个本地数据源,如 SQLite 或 Room 是否有必要?

“必要”是一个强有力的术语。如果您计划分发应用程序,最好使用后台线程。这些是您创建的线程,还是其他东西创建的线程(例如,Room、RxJava),可能会有所不同。

于 2019-02-19T13:33:09.117 回答
0

如果你的意思是本地的 SQLITE。答案是肯定的。

如果您使用的是原始 sqlite 查询,编译器将允许您在 UI 线程中进行查询,尽管这不是一个好的做法,并且可能导致 UI 线程冻结,因此会损害您的应用程序性能,但如果您使用的是“ROOM”如果您尝试从 UI 线程进行数据库操作,编译器将抛出错误。所以

于 2019-02-19T13:41:10.840 回答