JSON 応答のサイズが非常に大きい (7 MB になる場合がある) ため、次のコードは Android デバイス、特に GingerBread デバイスでアプリケーションをクラッシュさせるため、Android の httpclient から json 応答を取得するにはヘルプが必要です。したがって、Httpclient から JSONresponse を読み取る別の方法を知りたいと思っていました。現在の実装ではメモリが大量に消費され、ローエンド デバイスでアプリケーションがクラッシュするためです。
この問題を解決するための提案や助けをいただければ幸いです。
HttpClient httpClient = new DefaultHttpClient(ccm, params);
HttpGet httpGet = new HttpGet(url);
httpGet.setHeader("Cache-Control", "no-cache; no-store");
HttpResponse httpResponse = httpClient.execute(httpGet);
response = Utils.convertStreamToString(httpResponse.getEntity().getContent());
public static String convertStreamToString(InputStream is)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
//System.gc();
sb.append(line).append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}