android在使用SQLiteDatabase插入数据时,抛出如下异常:
W/CursorWindow(25503): Window is full: requested allocation 5583269 bytes, free space 2096639 bytes, window size 2097152 bytes
E/CursorWindow(25503): Failed to read row 0, column 1 from a CursorWindow which has 0 rows, 5 columns.
W/System.err(25503): java.lang.IllegalStateException: Couldn‘t read row 0, col 1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
W/System.err(25503): at android.database.CursorWindow.nativeGetString(Native Method)
W/System.err(25503): at android.database.CursorWindow.getString(CursorWindow.java:442)
W/System.err(25503): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
解决方法:数据库表字段值如果超过2M,那么就把值存在文件中,然后把文件路径存在此字段中。
参考:
http://stackoverflow.com/questions/21432556/android-java-lang-illegalstateexception-couldnt-read-row-0-col-0-from-cursorw
http://blog.csdn.net/yuxiaohui78/article/details/39096151