游标停止在游标加载器中间工作

时间:2013-07-30 15:38:03

标签: android sqlite cursor

游标已经传递了cursor.moveToFirst并处理了数百行。在一些相当大的数据集(500多行)上,它将给出类似下面的ISE,它总是大约400行。 Crashlytics报告称这些用户可以免费使用80%以上的RAM。

Caused by java.lang.IllegalStateException
Couldn't read row 420, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
0 ...   
CursorWindow.java line
android.database.CursorWindow.nativeGetLong
4   
AbstractCursor.java line 244
android.database.AbstractCursor.moveToNext

当发生这种情况时,有人知道原因和可能的恢复方法吗?

1 个答案:

答案 0 :(得分:0)

事实证明,当其中一行太大时(我在这里谈论40列连接)并且不能适合单个CursorWindow(2M,但你可以通过sCursorWindowSize上的反射来修改大小)作弊,:))