android 移动光标时出现异常

d7v8vwbk  于 2023-02-27  发布在  Android
关注(0)|答案(1)|浏览(123)

我使用的是SQLite数据库,经常会遇到运行时错误,但我找不到错误的来源。在查询后,我使用moveToFirst指向检索到的第一条记录,这有时会触发android.database.CursorWindowAllocationException异常。在此异常中添加了以下语句:分配2048kb的游标窗口失败。打开游标数=736(此过程打开的游标数=736)。
在Android文档中,我还没有找到任何与这个异常相关的东西。有人知道它的原因和避免它的方法吗?

z4iuyo4d

z4iuyo4d1#

此错误几乎总是由于游标结束时未关闭游标造成的。每次打开游标时,都需要内存来Map游标所代表的数据,并且在游标关闭之前无法释放内存。可用于此目的的内存量是有限制的,因此如果游标未关闭而应用程序继续打开新的游标,则在某个时刻可能会发生此错误。
我建议你检查你的代码,确保所有创建的游标在某个时候都是关闭的。还要注意任何在循环中打开游标的代码--你的错误消息是'open Cursors=736',这意味着在某种循环中有很多游标活动。

相关问题