0

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

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

使用异步任务是在没有超时的情况下完成这项工作的唯一方法吗?

谢谢

4

3 回答 3

1

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

dh.getDb().beginTransaction();

//插入语句

dh.getDb().setTransactionSuccessful();
dh.getDb().endTransaction();

于 2011-05-11T06:05:17.747 回答
0

如果它以 20 条记录抛出该警告,想象一下有一千条记录的延迟。你真的想阻止执行这么长时间吗?

将数据库作为异步任务或在单独的线程中更新是正确的方法。

于 2011-05-11T03:45:11.460 回答
0

使用异步任务不是唯一的方法,但它是最好的方法。AsyncTask 也很简单。您绝对不想在主线程中执行此操作。

于 2011-05-11T05:47:41.707 回答