Android中的光标窗口已满该怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (18)

W / CursorWindow(15677):窗口已满:请求分配2195889字节,可用空间2096720字节,窗口大小2097152字节

我知道有应用程序内存可用:

D / dalvikvm(15677):GC_FOR_ALLOC释放9K,30%释放17050K / 24291K,暂停45ms

因此,它纯粹是做光标大小的窗口,阅读时blob进入byte[]

我使用内置的方法从光标读取blob:

    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;
提问于
用户回答回答于

看起来最好的解决方法是将照片存储在SD卡上,并将URI保存在数据库中。

虽然我想避免这种情况,但这并不算太坏,而且更稳定。

扫码关注云+社区