gpt4 book ai didi

java - 数据库的 SQLiteConnection 对象被泄露!请修复您的应用程序

转载 作者:IT老高 更新时间:2023-10-28 20:42:57 26 4
gpt4 key购买 nike

我的应用程序给了我这个警告

A SQLiteConnection object for database '+data+data+com_example_test+database' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.

但每次使用后我都会关闭 db 对象和光标。

        try {
while (cursor.moveToNext()) {
...
}
} finally {
if (cursor != null && !cursor.isClosed())
cursor.close();
}

...
db.close();

你能帮我理解问题所在吗?谢谢!!!

更新!我从这篇文章中尝试了这个解决方案 SQLite Connection leaked although everything closed

而且我没有内存泄漏了,这是一个好的解决方案吗?

最佳答案

可能的解决方案:

  • 你没有没有提交你已经开始的事务(你应该一旦开始,请务必关闭交易)
  • 检查是否关闭了已打开的游标使用 Sqlite (看起来你已经从你发布的代码中完成了这一步)
  • 还将 db.close 移动到 finally block
  • 在使用 context.deleteDatabase(...) 删除数据库然后使用 dbHelper.getWritableDatabase 重新创建数据库之前,您尚未在数据库上调用 db.close ()

关于java - 数据库的 SQLiteConnection 对象被泄露!请修复您的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25307868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com