在onCreate()期间,我试图在SQLite数据库中插入大约20行(这些只是测试值。对于最终版本,我必须插入大约1000行。)
使用调试器时,似乎在运行onCreate()时会导致“HistoryRecord的活动暂停超时”,而且从日志中看似并未插入所有行。
使用异步任务是使这项工作没有超时的唯一方法吗?
由于
答案 0 :(得分:1)
是异步任务或在单独的线程中是正确的方法,此外,您可以告诉数据库您正在启动一个事务,这会大大加快大型插入的过程,
dh.getDb()的BeginTransaction();
//插入statemetns
。 dh.getDb()setTransactionSuccessful();
。dh.getDb()endTransaction()方法;
答案 1 :(得分:0)
如果它抛出20条记录的警告,想象一下千元的延迟。你真的想阻止执行这么久吗?
以异步任务或单独的线程更新数据库是正确的方法。
答案 2 :(得分:0)
使用异步任务不是唯一的方法,但这是最好的方法。 AsyncTask也很简单。你肯定不想在主线程中这样做。