ROOM OutOfMemoryError R(OOM)

时间:2017-11-25 00:48:03

标签: android out-of-memory android-room android-livedata

我在播放控制台中看到了这些错误。有人知道如何最好地处理房间内的OOM错误吗?

java.lang.OutOfMemoryError: 
  at android.database.CursorWindow.nativeGetString (Native Method)
  at android.database.CursorWindow.getString (CursorWindow.java:451)
  at android.database.AbstractWindowedCursor.getString (AbstractWindowedCursor.java:51)
  at org.walleth.data.transactions.TransactionDAO_Impl$8.compute (TransactionDAO_Impl.java:1272)
  at org.walleth.data.transactions.TransactionDAO_Impl$8.compute (TransactionDAO_Impl.java:1212)
  at android.arch.lifecycle.ComputableLiveData$2.run (ComputableLiveData.java:87)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
  at java.lang.Thread.run (Thread.java:762)

2 个答案:

答案 0 :(得分:2)

您是否一次传输大量数据?

如果它是你正在填写的列表,你可以懒得去做,例如100比100。

此外,如果您的数据库响应包含许多列,SELECT您使用的列。

答案 1 :(得分:-1)

请在应用中的module.gradle文件中增加堆大小