【发布时间】:2011-12-16 07:41:16
【问题描述】:
在我的 android 应用程序中,我使用 SQLiteOpenHelper 来实现 ContentProvider。 查询、添加、删除操作都是通过ContentProvider进行的。
但在我的一部 android 手机 (htc g13) 中,我在目录 /data/data/[package name]/databases 中找到了 *.db-wal 文件。并且使用 ContentProvider 操作时文件大小创建得非常快。它占用了太多的用户 RAM 空间。
建议关闭 SQLiteOpenHelper 以解决我在帖子enter link description here 中的问题(它很有用)。
但我想找一个“地方”来添加“close()”方法,因为我没有直接使用 SQLiteOpenHelper(通过 ContentProvider 使用)。 ContentProvider 中的 query() 方法必须返回一个 Cursor,并且 SQLiteDatabse 应该保持打开状态。
我很困惑,我现在做什么节目来保持 *.db-wal 消失并正常使用 ContentProvider?
【问题讨论】:
-
这是一个旧线程,但在 Google 上仍然相关,所以这里是对正确答案的参考:stackoverflow.com/questions/4547461/…
-
我认为这是最好的答案,谢谢。
-
阅读这篇精彩的说明,使用 contentProvider 时无需关闭数据库 ..stackoverflow.com/questions/14002022/…
标签: android android-contentprovider sqliteopenhelper