title: is String(byte[], charset) memory efficient
body: <p>I am looking at the source code for <code>Volley</code>, a java networking library for android, and it puts an entire network response into a new String object using the constructor <code>new String(byte[], String)</code></p>
  
  <p>where the bulk of the network response is a <code>byte[]</code> and the headers parsed as a string.</p>
  
  <p>Is creating a large string this way memory efficient? I've seen network calls where <code>InputStream</code>s are converted to <code>String</code>s in a while loop and it can crash an application with when the application runs out of memory.</p>