Эй, у меня есть настройка соединения с базой данных в приложении для Android, но LogCat продолжает сообщать мне об утечке SQLite.
12-03 15:07:23.169: ERROR/Database(2509): Leak found
12-03 15:07:23.169: ERROR/Database(2509): java.lang.IllegalStateException: /data/data/com.domain/databases/db.db SQLiteDatabase created and never closed
12-03 15:07:23.169: ERROR/Database(2509): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1784)
12-03 15:07:23.169: ERROR/Database(2509): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:804)
12-03 15:07:23.169: ERROR/Database(2509): at com.domain.DatabaseConnection.openDataBase(DatabaseConnection.java:118)
12-03 15:07:23.169: ERROR/Database(2509): at com.domain.global.ZonesLoaded.InitZones(ZonesLoaded.java:32)
12-03 15:07:23.169: ERROR/Database(2509): at com.domain.ZoneActivity.onCreate(ZoneActivity.java:34)
12-03 15:07:23.169: ERROR/Database(2509): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-03 15:07:23.169: ERROR/Database(2509): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)
12-03 15:07:23.169: ERROR/Database(2509): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2411)
12-03 15:07:23.169: ERROR/Database(2509): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
12-03 15:07:23.169: ERROR/Database(2509): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
12-03 15:07:23.169: ERROR/Database(2509): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:648)
12-03 15:07:23.169: ERROR/Database(2509): at android.widget.TabHost.setCurrentTab(TabHost.java:320)
etc...
После прочтения других сообщений , таких как здесь или здесь , можно предположить, что я не реализовывал метод close
в своем классе DBAdapter. Однако я создал это:
public synchronized void close()
{
if(myDatabase != null)
myDatabase.close();
super.close();
}
Я начинаю задумываться о том, как все сводится к тому, как я использую адаптер базы данных, хотя я только что протестировал свое приложение на гораздо более быстром устройстве (Samsung Galaxy S), и это работало без проблем! У кого-нибудь есть здесь советы?
Спасибо