Web サーバーからの応答として取得する json データの解析に大きな問題があります。私がやっていることは、POST 経由で応答を取得し、応答を文字列として変換して解析することです。しかし、一部のデバイスではOutOfMemoryError
、修正しようとしています。応答を string に変換する方法は次のとおりです。
public static String convertStreamToString(InputStream is) throws Exception {
ByteArrayOutputStream into = new ByteArrayOutputStream();
byte[] buf = new byte[4096];
for (int n; 0 < (n = is.read(buf));) {
into.write(buf, 0, n);
}
into.close();
return new String(into.toByteArray(), "UTF-8");
}
そして、これが私がこのコードをどのように使用しているかです:
InputStream response = new BufferedInputStream(connection.getInputStream());
try {
String responsee = convertStreamToString(response);
jsonParser(responsee);
} catch (Exception e) {
e.printStackTrace();
cancelDialog("Error occurred! Please try again later.");
}
すべてのデバイスで発生しないように、その問題を解決するにはどうすればよいですか?
あらゆる種類のヘルプやアドバイスをお寄せいただきありがとうございます。