W/CursorWindow(15677):窗口已满:请求分配2195889字节,可用空间2096720字节,窗口大小2097152字节
我知道有可用的应用程序内存:
D/dalvikvm(15677):GC_FOR_ALLOC释放9K,30%释放17050K/24291K,暂停45ms
因此,在将blob
读入byte[]
时,这纯粹与光标大小窗口有关。
我正在使用内置方法从游标中读取blobs。
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字节。
发布于 2012-08-08 23:20:28
似乎最好的解决方法是将照片存储在SDCard上,并将URI保存在数据库中。
虽然我想避免这种情况,但它并不是太糟糕,而且更稳定。
https://stackoverflow.com/questions/11863024
复制相似问题