Java/Android: java.lang.OutOfMemoryError при создании объекта JSON

Я импортирую данные JSON из общедоступной базы данных URI http://data.seattle.gov/api /views/3k2p-39jp/rows.json, и строки доходят до 445454. Используя следующий код, я создаю объект 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");

Поскольку данных слишком много, я получаю 03-21 03:41:49.714: E/AndroidRuntime(666): Причина: java.lang.OutOfMemoryError, указывающая источник ошибки на buildr.append(строка).append("\n"). Можно ли в любом случае обрабатывать большие наборы данных без проблем с выделением памяти?

8
задан BartoszKP 29 June 2014 в 13:57
поделиться