为什么Android房间不建议使用allowMainThreadQueries()?

Mar*_*o L 6 android android-room

我正在创建一个小应用程序,它只是在数据库中保存一些计数器。如果它不存在,请插入一个。如果是,请增加更新。

该应用程序没有任何用户界面。它是一个保存和读取数据(少量表,少量记录)的插件。

在这种情况下,我可以使用allowMainThreadQueries()吗?每次我读到一些关于这个框架的教程时,总是说我不应该在生产中使用它。

eur*_*com 4

来自开发人员文档\n https://developer.android.com/training/data-storage/room/accessing-data

\n\n

注意:除非您在构建器上调用了allowMainThreadQueries(),否则Room不支持主线程上的数据库访问,因为它可能会长时间锁定UI。返回 LiveData 或 Flowable\xe2\x80\x94 实例的异步查询\xe2\x80\x94 不受此规则约束,因为它们在需要时在后台线程上异步运行查询。

\n

  • 是的,但这并不能回答我的问题。当我不在 UI 中显示该数据时,可以使用 allowedMainThreadQueries 吗?而且它是一个带有小记录的小数据库? (4认同)