Estoy importando los datos JSON a partir de una base de datos pública URI http://data.seattle.gov/api/views/3k2p-39jp/rows.json y las filas ir tan lejos como 445454. Usando el siguiente código estoy construyendo el objeto JSON de la totalidad datos.Java/Android: java.lang.OutOfMemoryError mientras que la construcción de un objeto JSON
HttpGet get = new HttpGet(uri);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(get);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
StringBuilder builder=new StringBuilder();
for(String line=null;(line = reader.readLine()) != null;){
builder.append(line).append("\n");
}
JSONTokener jsonTokener=new JSONTokener(builder.toString());
JSONObject finalJson=new JSONObject(jsonTokener);
JSONArray data=finalJson.getJSONArray("data");
Debido a que los datos son demasiado grandes, que estoy recibiendo 03-21 03:41:49.714: E/AndroidRuntime(666): Caused by: java.lang.OutOfMemoryError
señalando la fuente de error en buildr.append(line).append("\n")
. ¿De todos modos puedo manejar grandes conjuntos de datos sin tener problemas de asignación de memoria?
leer partes de ella en lugar de todo ..? – JoxTraex