内容解析器插入是否应该在后台线程中发生?

时间:2017-06-26 12:12:24

标签: android multithreading user-interface background insert

我不确定是否需要在后台线程中处理内容解析器插入功能。我做它作为UI线程的一部分,应用程序运行文件。但需要知道是否正确调用直接在ui线程上插入。

1 个答案:

答案 0 :(得分:4)

我建议不要这样做。数据库写入速度很慢,应尽可能在UI线程下执行。它现在可能不是一个问题,但您可能会发现随着数据库的增长或应用程序的性质发生变化而您开始编写更多数据,您的UI线程将开始落后。

您可能还会发现,当前形式的此类操作可能无法在低端设备上如此顺畅地运行。

除了这些问题之外,如果您计划在多个线程之间共享数据库,则数据库锁可以并且将阻止并发写入,以确保数据完整性;这反过来可能会让你的UI线程挂起。

所以,虽然它现在可能不是问题,但是通过实现和使用确保您的事务发生在UI线程之外的设计模式,您可以在将来节省大量时间。

无论你做什么,一定要先拍下自己的背,以便首先考虑这个问题!