我试图通过定义索引使我的 Room 数据库的一列独一无二。但是,这导致我的编译器失败,因为它大大增加了所需的对象堆。
如果我使用@Entity(tableName = "seeds", indices = {@Index(value = {"name"}, unique = true)}) @Fts4
运行“gradlew build --stacktrace”时出现编译器错误:
Error occurred during initialization of VM
Could not reserve enough space for 3145728KB object heap
如果我只使用@Entity(tableName = "seeds") @Fts4
,应用程序会正确编译。
我在我的gradle.properties
...中尝试了不同的设置
org.gradle.jvmargs=-Xmx3g
是我能给它的最大价值。在4g
它抱怨该值超过了允许的最大值。因此,所有其他关于此的 SO 线程都没有帮助,因为我已经达到了最大值。我通常在2g
. 所以这个“小”的变化似乎使所需的对象堆增加了一倍。
有谁知道处理唯一索引的更好方法?
有谁知道如何解决这个级别的对象堆问题?