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

我的申请给了我这个警告

数据库“+ data + data + com_example_test + database”的SQLiteConnection对象被泄露了! 请修复您的应用程序以正确结束正在进行的事务,并在不再需要时closures数据库。

但是在每次使用之后closuresdb对象和光标。

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

你能帮我理解这是什么问题吗? 谢谢!!!

UPDATE! 我尝试从这个postSQLite连接泄漏尽pipe一切都closures的解决scheme

我没有内存泄漏了,这是一个很好的解决scheme吗?

Solutions Collecting From Web of "数据库的SQLiteConnection对象被泄露了! 请修复您的应用程序"

可能的scheme

  • not committed the transactions您已经开始not committed the transactions (您应该始终closures交易)
  • 检查你是否已经closures了你打开的游标,如果你正在使用Sqlite (看起来你已经从你发布的代码中完成了这一步)
  • 还要把db.close移到finally

只要将db.close拖放到finally块中即可。

在我的情况下,错误是因为当你试图下载新的数据,数据库应该更新。

我解决了通过调用SELECT 0实例化数据库。 这导致数据库被更新,所以之后我尝试下载新的数据。 而且工作得很好。