Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid SQLite CursorWindowAllocationException crash
    text
    copied!<p>I have a situation where my program crashes when I make a number of cursor.moveToNext() requests. The error message reads:</p> <pre><code>android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=773 (# cursors opened by this proc=773) at android.database.CursorWindow.&lt;init&gt;(CursorWindow.java:112) at android.database.CursorWindow.&lt;init&gt;(CursorWindow.java:100) at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198) at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:364) at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:162) at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:156) at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:161) at android.database.AbstractCursor.moveToNext(AbstractCursor.java:209) at net.cunniman.teacherplannerlite.SchoolClassDataSource.getClassForDayView(SchoolClassDataSource.java:173) at net.cunniman.teacherplannerlite.DayView.getSchoolClasses(DayView.java:200) at net.cunniman.teacherplannerlite.DayView.displayDate(DayView.java:176) at net.cunniman.teacherplannerlite.DayView.plusDay(DayView.java:287) at net.cunniman.teacherplannerlite.DayView.onClick(DayView.java:93) at android.view.View.performClick(View.java:3565) at android.view.View$PerformClick.run(View.java:14165) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4514) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) at dalvik.system.NativeStart.main(Native Method) try { this.openForRead(); for (int day_counter = 0; day_counter &lt; DAY_PERIOD.length/2; day_counter++) { Cursor cursor = database.rawQuery ("SELECT " + NAME + " FROM " + TABLE_NAME + " WHERE " + DAY_PERIOD[day_counter * 2] + " = '" + day + "' AND " + DAY_PERIOD[day_counter * 2 + 1] + " = " + Integer.toString(period), null); while (cursor.moveToNext()) { String name = cursor.getString(0); sc.setName(name); } } finally { this.close(); } </code></pre> <p>Does anyone know what might be causing this - seems like a memory leak (maybe?) but is there a way I can prevent it from happening?</p> <p>Thanks</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload