Android 在onDestroy函数中调用datasource.close()不会停止错误
我得到以下错误:Android 在onDestroy函数中调用datasource.close()不会停止错误,android,database,sqlite,exception,Android,Database,Sqlite,Exception,我得到以下错误: 06-05 22:30:29.004:E/Database(410):android.Database.sqlite.DatabaseObjectNotClosedException:应用程序未关闭在此打开的光标或数据库对象 现在,由于我看到了该错误,我添加了以下代码: @Override public void onDestroy() { if (datasource != null) { datasource.close(); }
06-05 22:30:29.004:E/Database(410):android.Database.sqlite.DatabaseObjectNotClosedException:应用程序未关闭在此打开的光标或数据库对象
现在,由于我看到了该错误,我添加了以下代码:
@Override
public void onDestroy() {
if (datasource != null) {
datasource.close();
}
if (pdatasource != null) {
pdatasource.close();
}
super.onDestroy();
}
datasource
和pdatasource
在activies类中都是私有的
我只是想知道为什么我在控制台中仍然会遇到这个错误,即使我已经添加了代码,如果它为null并且活动已经被破坏,那么代码将显式地关闭它?它不会导致崩溃或任何事情,但我不希望在将此应用程序投放市场之前出现任何错误
android.database.sqlite.DatabaseObjectNotClosedException:应用程序
未关闭在此打开的游标或数据库对象
您的代码看起来干净正确。我猜最有可能的情况是,您的应用程序中有一些“遗忘”的数据库变量,您忘记关闭了。看看吧
注意:还要检查使用的游标变量(它们也应该在应用程序销毁之前关闭)。尝试将close()
调用移动到onPause()
。