2016-03-26 22 views
2

içinde sızıntı nerede bulup alıyorum bazı eylemler, veritabanı '/data/user/0/project/database.db' içinnasıl app çalıştırdığınızda benim sqlite Android

bir SQLiteConnection nesnesi sızdırılmış yapmak ! Lütfen uygulamanızı düzeltmeye devam eden işlemleri sona erdirmek ve artık gerekmediğinde veritabanını kapatmak için düzeltin.

ben debug Bu nasıl

+0

Kodunuzu db. –

cevap

0

Ne zaman isterseniz getWritableDatabase() veya getReadableDatabase() o zaman işlem sonrasında veri tabanı bağlantısını kapatmak zorunda tarafından tamamlandıktan do - Biraz kaydedilmemiş işlemler varsa

getWritableDatabase().close(); 
0

kontrol edin (Başladığınızda işlemi her zaman kapatmalısınız). İmlecinizi daha sonra veritabanını kapattığınızdan emin olun.

2

GINGERBREAD'den beri Geliştiricilerin, sızdırmaz nesneleri algılamak üzere tanıttığı bir işlev var.

private static final boolean DEVELOPER_MODE = true; 

if (DEVELOPER_MODE) { 
     StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 
       .detectLeakedSqlLiteObjects() 
       .detectLeakedClosableObjects() 
       .penaltyLog() 
       .penaltyDeath() 
       .build()); 
    } 

kullanılması Eğer sızan kapanabilir nesneleri algılamak istediğiniz aktivitesinde bu kod bloğu.

Umarım bu size yardımcı olur ...