文章内容

2018/6/13 15:41:46,作 者: 黄兵

A SQLiteConnection object for database was leaked! Please fix your application

运行程序的时候logcat给出如下提示:

06-13 06:33:35.172 2014-2025/com.google.process.gapps W/SQLiteConnectionPool: A SQLiteConnection object for database '/data/user/0/com.google.android.gsf/databases/gservices.db' was leaked!  Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.

具体代码如下:

private void close(Cursor cursor) {
    if (cursor != null) {
        cursor.close();
    }
}


出现错误的原因:

数据库的SQLiteConnection对象'/data/user/0/com.google.android.gsf/databases/gservices.db' 被泄露! 请修复您的应用程序以正确结束正在进行的事务,并在不再需要时关闭数据库。

也就是数据库没有关闭,造成了死锁(不知道这样理解是否有问题,请大牛指教)。


解决方案:

private void close(Cursor cursor) {
    if (cursor != null && !cursor.isClosed())
        cursor.close();
}

如果没有关闭,就直接关闭。


参考资料:A SQLiteConnection object for database was leaked! Please fix your application


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - A SQLiteConnection object for database was leaked! Please fix your application

分享到:

发表评论

评论列表