Подтвердить что ты не робот

Android: Окно курсора заполнено

W/CursorWindow (15677): Окно заполнено: запрошенное размещение 2195889 байты, свободное пространство 2096720 байт, размер окна 2097152 байт

Я знаю, что есть память приложения:

D/dalvikvm (15677): GC_FOR_ALLOC освободил 9K, 30% бесплатно 17050K/24291K, приостановил 45 мс

Таким образом, его чисто делать с окном размера курсора при чтении blob в byte[].

Im использует встроенный метод для чтения блобов из курсора.

    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;

Есть ли способ обойти это? Размер окна, по-видимому, ограничен 2097152 байтами.

4b9b3361

Ответ 1

Кажется, что лучше всего это сохранить фотографию на SDCard и сохранить URI в БД.

Хотя я хотел избежать этого, это не так уж плохо и намного более стабильно.