如何修复泄露的“SQLiteConnection for gms数据库”

时间:2016-12-06 11:26:43

标签: android memory-leaks google-play-services

我的应用程序使用 Google Play服务,在logcat中收到以下警告

 12-06 12:53:58.240 2748-2757/com.google.android.gms W/SQLiteConnectionPool: A SQLiteConnection object for database '/data/data/com.google.android.gms/databases/metrics.db' was leaked!  Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.
    12-06 12:53:58.240 2748-2757/com.google.android.gms W/SQLiteConnectionPool: A SQLiteConnection object for database '/data/data/com.google.android.gms/databases/help_responses.db' was leaked!  Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.
    12-06 12:53:58.240 2748-2757/com.google.android.gms W/SQLiteConnectionPool: A SQLiteConnection object for database '/data/data/com.google.android.gms/databases/auto_complete_suggestions.db' was leaked!  Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.

...但与SO上讨论的所有其他案例不同,我的应用程序不使用任何数据库

相反,它似乎是来自 Google Play服务的数据库的泄漏。

如何解决这个问题?

4 个答案:

答案 0 :(得分:35)

Android监视器上的Android Studio 右上角从“Firebase”更改为“仅显示所选应用程序”

答案 1 :(得分:0)

我想如果您清除Google Play商店中的数据,那就没关系了!

设置 - >应用 - > Google Play服务 - >管理空间 - >清除所有数据

答案 2 :(得分:-1)

不是使用运行'应用,而是继续收到这些警告信息,

我使用了调试' ,于是我被告知有以下错误:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

这是有道理的,因为我的活动扩展了 AppCompatActivity

并在清单中指定了android:theme="@android:style/Theme.NoDisplay"

显然不是 Theme.AppCompat 的后代。

我看到了将我的活动扩展到良好的旧活动的建议,并且它有效!

事实上,很短的时间后,原始的警告信息再次出现,我的应用程序停止工作,所以我还没有回答原来的问题:(

答案 3 :(得分:-1)

这个错误只是因为你没有在firebase数据库访问的数据类中声明任何默认构造函数,只需创建一个空白的默认构造函数,它就没事了!