Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 數據庫是否該關閉

android 數據庫是否該關閉

編輯:關於Android編程

關於android多線程數據讀寫請看博客:

android 多線程數據庫讀寫

常常糾結於獲取了SQLiteDatabase每次操作完是否要關閉的問題,每次關閉又怕影響性能,這裡記錄下SQLiteOpenHelper操作邏輯:

SQLiteOpenHelper獲取getWritableDatabase,getReadableDatabase如果之前獲取的SQLiteDatabase對象沒有close掉,就會直接使用之前已經生成的SQLiteDatabase對象,如果之前已經close了,則會生成一個新的對象!

每次操作都關閉數據庫結果,有圖有真相:

\


打印出來的信息是db的hashcode,如果兩個一樣,說明是同一個對象,操作代碼:

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">@Override public SQLiteDatabase getWritableDatabase() { SQLiteDatabase db= super.getWritableDatabase(); Log.e("ddddBBBB","getWritableDatabase狀態:"+db.hashCode()+",path:"+db.getPath()); return db; } @Override public SQLiteDatabase getReadableDatabase() { // TODO Auto-generated method stub SQLiteDatabase db= super.getReadableDatabase(); Log.e("ddddBBBB","getReadableDatabase狀態:"+db.hashCode()+",path:"+db.getPath()); return db; }

個人覺得沒必要每次操作玩都關閉db,有點消耗性能,不如弄個全局的DB,等application 結束時再關閉。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved