我正在查看Volley
的源代码,这是一个用于android的java网络库,它使用构造函数new String(byte[], String)
网络响应的大部分是byte[]
,标头解析为字符串。
创建一个大字符串这样的内存效率?我见过网络调用,其中InputStream
在while循环中被转换为String
,并且当应用程序内存不足时,它可能会使应用程序崩溃。
答案 0 :(得分:1)
你没有说与之相比有效,所以你的问题并没有真正的答案,但总的来说我同意你的看法。标题后面的响应主体应该可用作输入流。毕竟它可能无限长。将整个请求或响应(或文件)读入内存是不好的做法,并且通过多种方法“高效”,例如内存使用和延迟。