Sunday, February 20, 2011

SQLiteDatabase created and never closed

Problem
When I'm using my application and I can see this error in the LogCat tab :


02-17 17:20:38.556: ERROR/Database(434): Leak found
02-17 17:20:38.556: ERROR/Database(434): java.lang.IllegalStateException: /data/data/databases/xx.db SQLiteDatabase created and never closed


Solution
Well, at first I thought it was because of my cursors. So I decided to check every cursor and close them all after having done with them.
But I still got the same problem.

So in fact, it's just that for every activity (onCreate) I was opening a connection to the database, but I never closed it.
So the solution was to close the connection in each activity:


@Override
protected void onStop() {
dbService.closeConnection();
super.onStop();
}


And that's it !

No comments: