![](/img/trans.png)
[英]In Java, when I call OutputStream.close() do I always need to call OutputStream.flush() before?
[英]Do I need call close() when I use getWritableDatabase()?
如果我有这样的代码
private final SQLiteDatabase database;
private final SQLiteOpenHelper helper;
// ...
this.database = helper.getWritableDatabase();
// ...
我需要显式调用close()吗?
我对此答案感到困惑: https : //stackoverflow.com/a/18595604/4932519
看一下getWritableDatabase()的文档:
成功打开数据库后,将对其进行缓存,因此,每次需要写入数据库时都可以调用此方法。 ( 请确保在不再需要数据库时调用close()。 )
PS对不起,我的英语。
对close()
一次调用应始终与对getWritableDatabase()
每次调用配对。
当您为每个查询调用一次getWritableDatabase()
时,在完成查询后也应该调用close()
。
当活动启动时调用getWritableDatabase()
并保存引用时,应在活动关闭时调用close()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.