Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-所有数据库操作都应该在一个线程中完成吗?_Java_Android_Sqlite - Fatal编程技术网

Java Android-所有数据库操作都应该在一个线程中完成吗?

Java Android-所有数据库操作都应该在一个线程中完成吗?,java,android,sqlite,Java,Android,Sqlite,可能重复: 我想知道,我的android应用程序中的所有SQLite数据库操作是在一个线程中完成的,还是可以在UI线程上使用小的操作,例如添加一行?可能可以完成小访问,但我仍然会使用线程——编写一些代码并进行测试这纯粹是一个选择问题 有些人固执地说所有的DB操作都必须在线程中,而其他人可能感觉不一样 因此,这取决于开发人员以及他希望UI如何 在我看来,为一个简单的写操作创建线程实际上是一种开销,在UI线程上会更方便 但是要注意这样的用法,异常可能会导致UI线程被异常处理。不需要在线程中执行所有

可能重复:


我想知道,我的android应用程序中的所有SQLite数据库操作是在一个线程中完成的,还是可以在UI线程上使用小的操作,例如添加一行?

可能可以完成小访问,但我仍然会使用线程——编写一些代码并进行测试

这纯粹是一个选择问题

有些人固执地说所有的DB操作都必须在线程中,而其他人可能感觉不一样

因此,这取决于开发人员以及他希望UI如何

在我看来,为一个简单的写操作创建线程实际上是一种开销,在UI线程上会更方便


但是要注意这样的用法,异常可能会导致UI线程被异常处理。

不需要在线程中执行所有DB操作,但建议这样做。在使用线程时,请始终记住不要从内部更新UI。除了最复杂的操作外,在所有操作中都使用处理程序类更新UI,设置两个索引应该会使所有本地DB操作都非常快。

请提供有关您正试图精确实现的任务的更多描述我只是在向SQLite数据库添加一行。问得好!但是我认为我们还没有一个很好的答案,这并没有回答这个问题——数据库操作应该在哪个线程上执行,而不是如何提高数据库性能。