gpt4 book ai didi

java - 移动 Cursor 时出现 android.database.CursorWindowAllocationException

转载 作者:IT王子 更新时间:2023-10-29 06:18:41 46 4
gpt4 key购买 nike

我使用的是 SQLite 数据库,经常会遇到无法找到根源的运行时错误。查询后,我使用 moveToFirst 指向检索到的第一条记录,这有时会触发 android.database.CursorWindowAllocationException 异常。添加到此异常的是以下句子:“2048kb 的游标窗口分配失败。#open Cursors=736 (#cursors opendby this proc=736)”。

在 Android 文档中,我还没有找到任何与此异常相关的内容。有谁知道它的原因和避免它的方法吗?

最佳答案

这个错误几乎总是由于游标完成后没有关闭。每次打开游标时,都需要内存来映射游标所代表的数据,并且在关闭游标之前无法释放内存。可用于此目的的内存量是有限的,因此如果游标未关闭并且应用程序继续打开新的游标,则可能会在某个时候发生此错误。

我建议您检查您的代码以确保所有创建的游标都在某个时候关闭。还要注意在循环内打开游标的任何代码 - 您的错误消息显示“open Cursors=736”,这表明在某种循环内有很多游标 Activity 。

关于java - 移动 Cursor 时出现 android.database.CursorWindowAllocationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219039/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com