I have a routine that runs different queries against an SQLite database 
many times per second. After a while I would get the error

"android.database.CursorWindowAllocationException: - Cursor window 
allocation of 2048 kb failed. # Open Cursors = " appear in LogCat.

I had the app log memory usage, and indeed when usage reaches a certain 
limit the I get this error, implying it runs out. My intuition tells me 
that the database engine is creating a NEW buffer (CursorWindow) every time 
I run a query, and even though I mark the .close() the cursors, neither the 
garbage collector nor SQLiteDatabase.releaseMemory() are quick enough at 
freeing memory. I think the solution may lie in "forcing" the database to 
always write into the same buffer, and not create new ones, but I have been 
unable to find a way to do this. I have tried instantiating my own 
CursorWindow, and tried setting it to and SQLiteCursor to no avail.

¿Any ideas?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to