是String(byte [],charset)内存有效

时间:2014-02-05 22:29:25

标签: java android string memory-management android-volley

我正在查看Volley的源代码,这是一个用于android的java网络库,它使用构造函数new String(byte[], String)

将整个网络响应放入一个新的String对象中

网络响应的大部分是byte[],标头解析为字符串。

创建一个大字符串这样的内存效率?我见过网络调用,其中InputStream在while循环中被转换为String,并且当应用程序内存不足时,它可能会使应用程序崩溃。

1 个答案:

答案 0 :(得分:1)

你没有说与之相比有效,所以你的问题并没有真正的答案,但总的来说我同意你的看法。标题后面的响应主体应该可用作输入流。毕竟它可能无限长。将整个请求或响应(或文件)读入内存是不好的做法,并且通过多种方法“高效”,例如内存使用和延迟。