Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 对一个元素的查询是否可能导致.CursorWindowAllocationException?_Android_Sql_Android Room - Fatal编程技术网

Android 对一个元素的查询是否可能导致.CursorWindowAllocationException?

Android 对一个元素的查询是否可能导致.CursorWindowAllocationException?,android,sql,android-room,Android,Sql,Android Room,我的crashlytics上有个错误: 非致命异常:android.database.CursorWindowAllocationException:光标窗口分配4194304字节失败。 位于android.database.CursorWindow(CursorWindow.java:136) 位于android.database.sqlite.SQLiteCursor.clearCreateWindow(SQLiteCursor.java:315) 位于android.database.sq

我的crashlytics上有个错误:

非致命异常:android.database.CursorWindowAllocationException:光标窗口分配4194304字节失败。 位于android.database.CursorWindow(CursorWindow.java:136) 位于android.database.sqlite.SQLiteCursor.clearCreateWindow(SQLiteCursor.java:315) 位于android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:155) 位于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
这个表可以存储很多数据,比如数百万,但我只搜索一行。即使在这种情况下,也有可能导致内存泄漏?我能做点什么吗

我正在为FhirPackage(大小52802)上的每一行保存一个大字符串,但在该查询的where子句中没有使用它

您正在使用
SELECT*
,并且您正在加入
FhirPackage
。因此,您返回的是那个大字符串(以及联接表上的所有其他列),这可能会导致您的问题


尝试将
选择
列列表限制为仅包含所需列的表中的列。

监控和
FhirPackage
中有多少列?它们中是否有任何一个可能很大(例如,您将图像存储在
BLOB
column`)?31列,我只存储string、long、float、double和boolean。我没有在这个表tho中保存很多数据,但是FhirPackage在几列中有大量数据(11)。我正在为FhirPackage(52802大小)上的每一行保存一个大字符串,但我没有在该查询的where子句上使用它谢谢,我会试试!!我认为不在where子句上使用它是安全的