I am developing an application which download some files and save their text in file_content field to database. The file sizes can vary from some KBs to 10 MB. The app works
01-29 13:41:56.520: W/CursorWindow(4121): Window is full: requested allocation 5140987 bytes, free space 2096617 bytes, window size 2097152 bytes
Android SQLite returns rows in cursor windows that have the maximum size of 2MB as specified by config_cursorWindowSize. If your row exceeds this limit, you'll get this error.
Storing large data in sqlite database is not a good idea anyway. Store files in filesystem and paths in database.
In case you want to save images as bytes, Another way to do this is, while compressing the bitmap, set the quality to 0.