Я пытаюсь десериализовать объект, который был создан обычным JDK в приложении Android, я получаю StackOverFlowError всякий раз, когда я пытаюсь это сделать.StackOverFlowError при десериализации объекта в android
Могу ли я использовать объект, который я сериализовал, используя JDK в davlik vm? размер файла 4 Мб и его хранится в папке активов, линия, которая генерирует ошибку следующая
trie = (Trie<String, String>) new ObjectInputStream(ctx.getAssets().open(FILE_NAME)).readObject();
02-10 15:27:41.036: E/AndroidRuntime(2019): FATAL EXCEPTION: main
02-10 15:27:41.036: E/AndroidRuntime(2019): java.lang.StackOverflowError
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:414)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.DataInputStream.readUTF(DataInputStream.java:433)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readNewString(ObjectInputStream.java:2171)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:918)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2262)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2217)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1291)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:518)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1535)
02-10 15:27:41.036: E/AndroidRuntime(2019): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1443)
....
4 MiB довольно много для стека ... Вы пытались присвоить больше памяти виртуальной машине Java? – m0skit0
@ m0skit0 Я запускаю это прямо на телефоне – OKAN