2012-08-08 13 views
17

W/CursorWindow (15677): Okno jest pełna: o przydział 2195889 bajtów wolnego miejsca 2096720 bajtów rozmiar okna 2097152 bajtówAndroid: Kursor Okno jest pełna

wiem, że jest aplikacja dostępna pamięć :

D/dalvikvm (15677) GC_FOR_ALLOC uwolniony 9K, 30% wolnego 17050K/24291K, wstrzymane 45ms

więc jego czysto z okienkiem rozmiaru kursora, czytając blob w .

Używam wbudowanej metody do odczytu obiektów typu blob z kursora.

try 
    { 
     c = rdb.query("Photos", new String[]{"photo"}, "id = ?", new String[]{""+photoID}, null, null, null); 
     if(c.moveToFirst()) 
     { 
      byte[] tArray = c.getBlob(c.getColumnIndex("photo")); // THIS LINE ERRORS 
     }    
    }catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
    c.close(); 

    return tArray; 

Czy istnieje sposób obejścia tego? Rozmiar okna wydaje się być ograniczony do 2097152 bajtów.

Odpowiedz

15

Wydaje się, że najlepszym sposobem obejścia tego jest przechowywanie fotografii na karcie SD i zapisanie identyfikatora URI w bazie danych.

Chociaż chciałem tego uniknąć, nie jest tak źle i jest o wiele bardziej stabilne.