I am getting the error java.lang.OutOfMemoryError in my android application. Other answers on SO are about getting error due to Bitmap, but I am not getting error because of using Bitmaps. Here is the stack trace and how can I resolve it?
<code>Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 4128 byte allocation with 1039480 free bytes and 1015KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
at java.lang.reflect.Array.createObjectArray(Array.java)
at java.lang.reflect.Array.newArray(Array.java:777)
at java.lang.reflect.Array.newInstance(Array.java:79)
at java.util.Arrays.copyOf(Arrays.java:3554)
at java.util.Arrays.copyOf(Arrays.java:3522)
at org.apache.avro.io.parsing.Parser.expandStack(Parser.java:64)
at org.apache.avro.io.parsing.Parser.pushProduction(Parser.java:147)
at org.apache.avro.io.parsing.Parser.advance(Parser.java:95)
at org.apache.avro.io.ResolvingDecoder.readFieldOrder(ResolvingDecoder.java:128)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:165)
at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:125)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:119)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:112)
</code>
<code>Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 4128 byte allocation with 1039480 free bytes and 1015KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
at java.lang.reflect.Array.createObjectArray(Array.java)
at java.lang.reflect.Array.newArray(Array.java:777)
at java.lang.reflect.Array.newInstance(Array.java:79)
at java.util.Arrays.copyOf(Arrays.java:3554)
at java.util.Arrays.copyOf(Arrays.java:3522)
at org.apache.avro.io.parsing.Parser.expandStack(Parser.java:64)
at org.apache.avro.io.parsing.Parser.pushProduction(Parser.java:147)
at org.apache.avro.io.parsing.Parser.advance(Parser.java:95)
at org.apache.avro.io.ResolvingDecoder.readFieldOrder(ResolvingDecoder.java:128)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:165)
at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:125)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:119)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:112)
</code>
Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 4128 byte allocation with 1039480 free bytes and 1015KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
at java.lang.reflect.Array.createObjectArray(Array.java)
at java.lang.reflect.Array.newArray(Array.java:777)
at java.lang.reflect.Array.newInstance(Array.java:79)
at java.util.Arrays.copyOf(Arrays.java:3554)
at java.util.Arrays.copyOf(Arrays.java:3522)
at org.apache.avro.io.parsing.Parser.expandStack(Parser.java:64)
at org.apache.avro.io.parsing.Parser.pushProduction(Parser.java:147)
at org.apache.avro.io.parsing.Parser.advance(Parser.java:95)
at org.apache.avro.io.ResolvingDecoder.readFieldOrder(ResolvingDecoder.java:128)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:165)
at org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:125)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:119)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:112)
I am not sure why am I getting this error. Please help me with this. Thanks