我有我的數據庫連接設置中的應用程序,但logcat的保持的向我講述了一個SQLite泄漏的Android SQLite的泄露錯誤
04-25 11:22:23.771: W/SQLiteConnectionPool(9484): A SQLiteConnection object for database '+data+data+com_appstart+databases+database' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.
我開始懷疑是否是到我如何使用數據庫適配器。 我附上我的代碼... 這是我的代碼,其中一些時間,我發現錯..
try{
DBAdapter dba = new DBAdapter(this);
dba.open();
Cursor c = dba.getModules(Constant.LANGUAGE_ID);
for (int i = 0; i < c.getCount(); i++) {
if (i > 2) {
a.add(c.getString(2));
moduleid.add(c.getString(0));
icon_name.add(c.getString(1));
System.out.println(c.getString(2) + "------" + c.getString(0));
}
c.moveToNext();
}
c.close();
dba.close();
}catch(Exception e){
e.printStackTrace();
}
這是我將對DBAdapter類,它包含open()和關閉()方法。
public DBAdapter open() throws SQLException {
db = DBHelper.getWritableDatabase();
return this;
}
public void close() {
DBHelper.close();
}
我使用DBAdapter類進行數據庫連接,並且此類包含Close和Open方法。所以,當我需要任何數據庫表我打開這adpater,並在我用我關閉此adapter.but後有時我得到這個錯誤,沒有數據會被發現。 – 2013-04-25 06:05:35
確保您關閉所有打開的數據庫?否則您發佈您的代碼我可以檢查它,如果可能,我會幫你.. – Subburaj 2013-04-25 06:07:26
等一分鐘我發佈我的代碼... – 2013-04-25 06:08:04