我创建简单Base64Images
的辅助类,其中包含该机构:字符串属性可以在Kotlin中多久?
companion object{
val ABSTRACT_COLORS = "[image encoded in base64]"
}
ABSTRACT_COLORS
实际上是具有570438个字符的字符串。
在编译过程中我得到:
org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate property ABSTRACT_COLORS
...
...
The root cause was thrown at: ByteVector.java:213 at org.jetbrains.kotlin.codegen.MemberCodegen.genFunctionOrProperty(MemberCodegen.java:205)
Caused by: java.lang.IllegalArgumentException
我以为我可以存储2147483647 (231 - 1)字符串中的字符。
这是为什么?
我在下面发表了这张图片。
您可以使用this tool生成base64。
提示:编辑此类或编译项目会冻结Android Studio。
我会使用一些轻量级的编辑器编辑和终端来编译它。
这看起来像一个编译错误。例如如果编译器由于没有足够的内存分配而失败,那么抛出的异常应该声明这种情况(它不会)。我建议在https://youtrack.jetbrains.com/issues/KT报告问题。你可以在线搜索一种方法来增加kotlin编译器的分配内存或类似的东西。 – mfulton26