2012-08-08 32 views
17

W/CursorWindow(15677):窗口已滿:請求的分配2195889個 字節,自由空間2096720個字節,窗口大小2097152個字節安卓:光標窗口是全

我知道有一個應用程序的內存avaliable :

d/dalvikvm(15677):GC_FOR_ALLOC釋放9K,30%的遊離17050K/24291K,暫停45ms

所以其純粹是爲了用光標大小窗口做時,將blob改爲byte[]

我使用內置的方法從光標讀取斑點。

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字節。

回答

15

看來最好的解決方法是將照片存儲在SD卡上,並將URI保存在數據庫中。

雖然我想避免這種情況,但它不是太糟糕,而且更穩定。