我創建簡單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