我有一个 ListActivity 使用 CursorAdapter 来显示一些数据。此数据是 Web 服务调用的结果。
我从 Web 服务调用中获取响应,使用 org.json.* 库对其进行解析,然后将结果写入应用程序的 SQLite3 数据库。然后重新查询 ListActivity 的光标,数据显示在列表中。
我的问题是数据库写入速度过慢。我唯一能想到的就是不使用 CursorAdapter 并将这些数据保存在内存中。我希望有人有另一个建议来加快速度。也许是某种批量插入?
应该注意的是,我正在使用 ContentProvider 进行插入。所以我调用 getContentResolver().insert(...)。
以下是通过 LAN 检索 56 行数据并显示它们的测试中的一些时间:
响应时间:178ms
解析json的时间:16ms
向数据库写入 56 行的时间:5714ms
对于这么多数据,我最终希望数据库写入的时间低于 1000 毫秒。