Я только что получил эту ошибку на моих крашлитиках:
Non-fatal Exception: android.database.CursorWindowAllocationException: Cursor window allocation of 4194304 bytes failed.
at android.database.CursorWindow.<init>(CursorWindow.java:136)
at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:315)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:155)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:149)
Но мой запрос получает только один элемент
SELECT * FROM Monitoring M JOIN FhirPackage F ON M.id=F.monitoringId WHERE uploadedToDeviceCentral = 0 AND F.readyToUpload = 1 AND M.userId=:userId AND M.organizationId=:orgId ORDER BY startTimestamp LIMIT 1
В этой таблице может храниться много данных, например, миллионы, но я просто ищу одну строку. Даже в этой ситуации возможно, что это вызывает утечку памяти? Есть что-то, что я могу с этим поделать?