SQLite在Android中插入超时?

时间:2011-05-11 03:27:09

标签: android sqlite android-asynctask oncreate

在onCreate()期间,我试图在SQLite数据库中插入大约20行(这些只是测试值。对于最终版本,我必须插入大约1000行。)

使用调试器时,似乎在运行onCreate()时会导致“HistoryRecord的活动暂停超时”,而且从日志中看似并未插入所有行。

使用异步任务是使这项工作没有超时的唯一方法吗?

由于

3 个答案:

答案 0 :(得分:1)

是异步任务或在单独的线程中是正确的方法,此外,您可以告诉数据库您正在启动一个事务,这会大大加快大型插入的过程,

dh.getDb()的BeginTransaction();

//插入statemetns

dh.getDb()setTransactionSuccessful();
。dh.getDb()endTransaction()方法;

答案 1 :(得分:0)

如果它抛出20条记录的警告,想象一下千元的延迟。你真的想阻止执行这么久吗?

以异步任务或单独的线程更新数据库是正确的方法。

答案 2 :(得分:0)

使用异步任务不是唯一的方法,但这是最好的方法。 AsyncTask也很简单。你肯定不想在主线程中这样做。