我使用android SQLiteOpenHelper 来处理我的sqlite数据库。
我正在尝试使用简单的asynctask在后台执行大量的数据库命令,因此用户不会注意到它会在主线程上给出的延迟。 当有多个(大量)命令时,总是让数据库无法打开错误。
cpython.object.Py_LT
当我多次调用该命令时,不会发生这种情况。
我已经检查了有关此问题的其他主题,并且还进行了一些谷歌搜索,但我无法找到anwser。
我的代码:
android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14) os_unix.c:31278: (24) open(/data/user/0/com.locomain.app/databases/app.db-journal)
答案 0 :(得分:0)
问题是发送到db的查询加载(来源:https://www.sqlite.org/rescode.html#cantopen)。 我通过重构我处理查询的方式来修复它。
答案 1 :(得分:-1)
制作使用db synchronized
。
尝试使用线程而不是AsyncTasks,无论如何都是更好的实践。
您确定使用交易吗?它确实减慢了插入速度。