W/CursorWindow(25503): Window is full: requested allocation 5583269 bytes, free space 2096639 bytes

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


文章来自:http://blog.csdn.net/wwzqj/article/details/43795363
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3