I am using volley to send some pretty big JsonRequest, and when the Json object calls toString, I receive an java.lang.OutOfMemoryError. It is on Nexus 7 2013 Android 4.4
JsonRequest request = new JsonRequest<ResponseData>(
method,
url,
EntryJsonObject.toString(),
responseListener,
errorListener)
java.lang.OutOfMemoryError
at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)
at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:132)
at java.lang.StringBuilder.append(StringBuilder.java:124)
at org.json.JSONStringer.string(JSONStringer.java:344)
at org.json.JSONStringer.value(JSONStringer.java:252)
at org.json.JSONArray.writeTo(JSONArray.java:602)
at org.json.JSONStringer.value(JSONStringer.java:233)
at org.json.JSONObject.writeTo(JSONObject.java:672)
at org.json.JSONObject.toString(JSONObject.java:641)
at com.dis.project1.restclient.Api.putInput(Api.java:205)
Any idea how to build the final String with all Json data so that I will not receive OutOfMemory. String has about 40 MBytes. It is a bit complex structure with 3 JsonArrays with a coupple of objects.