I'm in trouble with parsing Json buffer data to image.
Here is my Node.js code and data. I send it to my app using res.send(docs).
query.find({}, function(err, docs){
if(!err){
console.log(docs);
res.send(docs);
}
});
{ _id: 555ee1f5be40576c28c3e228,
email: 'hh@hh.h',
pw: 'aa',
name: 'jimy',
phone: '22222222222',
__v: 0,
img:
{ _bsontype: 'Binary',
sub_type: 0,
position: 4146282,
buffer: <Buffer ff d8 ff e1 96 f8 45 78 69 66 00 00 4d 4d 00 2a 00 00...}
}
and here is my android app code. I used AsyncHttpClient.
HttpClient.post("getMember/", param, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
JSONArray jarr;
JSONObject obj;
try {
jarr = new JSONArray(new String(responseBody));
obj = jarr.getJSONObject(0);
email_edt.setText(obj.get("email").toString());
pw_edt.setText(obj.get("pw").toString());
name_edt.setText(obj.get("name").toString());
phone_edt.setText(obj.get("phone").toString());
}
}
}
this code works well at document without img field. but when it get response including img, It takes long time, and fired "OutOfMemory" Error. I don't use obj.get("img"), just get responseBody and parsing it to JSONObject. document's size is about 4BM, It is not too large, but in my android studio, log like below so many times.
Grow heap (frag case) to 131.704MB for 38189042-byte allocation
05-29 17:38:51.097 17193-17193/com.capstone.bookkeepingproto2 D/dalvikvm﹕ GC_FOR_ALLOC freed 26910K, 42% free 107442K/183252K, paused 266ms, total 266ms
05-29 17:38:52.177 17193-17193/com.capstone.bookkeepingproto2 D/dalvikvm﹕ GC_FOR_ALLOC freed 8192K, 42% free 107442K/183252K, paused 277ms, total 277ms
05-29 17:38:53.257 17193-17193/com.capstone.bookkeepingproto2 D/dalvikvm﹕ GC_FOR_ALLOC freed 8192K, 42% free 107442K/183252K, paused 282ms, total 282ms
Please Help me.