![](/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.