Tôi đang nhập dữ liệu JSON từ cơ sở dữ liệu công khai URI http://data.seattle.gov/api/views/3k2p-39jp/rows.json và các hàng đi xa tới 445454. Sử dụng mã sau đây Tôi đang xây dựng đối tượng JSON của toàn bộ dữ liệu.Java/Android: java.lang.OutOfMemoryError khi xây dựng một đối tượng 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");
Bởi vì dữ liệu quá lớn, tôi đang nhận 03-21 03:41:49.714: E/AndroidRuntime(666): Caused by: java.lang.OutOfMemoryError
chỉ nguồn gốc của lỗi tại buildr.append(line).append("\n")
. Có anyway tôi có thể xử lý các tập dữ liệu lớn mà không nhận được vấn đề phân bổ bộ nhớ?
đọc các phần của nó thay vì toàn bộ nội dung ..? – JoxTraex