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

时间:2019-02-19 13:30:33

标签: android android-threading

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

2 个答案:

答案 0 :(得分:2)

  

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

通常这是个好主意。

  

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

如果您在apply()上使用SharedPreferences.Editor来保留更改,则它将在后台线程上为您完成工作。

  

我决定要切换到另一个本地数据源(如SQLite或Room)吗?

“必需”是一个强项。如果您打算分发该应用程序,则最好使用后台线程。这些线程是您创建的线程还是其他线程创建的线程(例如Room,RxJava),可能会有所不同。

答案 1 :(得分:0)

如果您在本地是指SQLITE,答案是肯定的。

如果您使用原始sqlite查询,则编译器将允许您在UI线程中进行查询,尽管这不是一个好习惯,并且可能会导致UI线程冻结,从而损害您的应用程序性能,但是如果您使用“ ROOM”,如果您尝试通过UI线程进行数据库操作,则编译器将引发错误。