0

我有一个应用程序应该向我的数据库写入一些信息让我们说 onDestroy (例如,音频播放器中的播放列表),所以我启动新的 AsyncTask 来执行这个功能 - 打开连接,执行许多(到 1000 个或更多)插入并关闭连接. 我需要从 DB onCreate 恢复这 1000 个或更多项目。

您能否给我一个提示,如何确保不会同时执行此操作以避免“数据库被锁定”异常?或者我做错了什么。

提前致谢!

4

1 回答 1

1
  1. 阅读 SQLiteDatabase(和 SQLite)的文档。您可以在 EXCLUSIVE 模式下进行交易。
  2. 或者,使用 ContentProvider,使用 applyBatch、ContentProviderOperation 和“yield”来防止锁定。
于 2012-10-22T17:19:25.863 回答