Preciso chamar HttpURLConnection.disconnect depois de terminar de usá-lo

O código a seguir funciona basicamente conforme o esperado. No entanto, para ser paranóico, fiquei pensando, para evitar vazamento de recursos,

Eu preciso ligarHttpURLConnection.disconnect, depois de terminar seu uso?Eu preciso ligarInputStream.close?Eu preciso ligarInputStreamReader.close?Preciso ter a seguinte linha de código 2:httpUrlConnection.setDoInput(true) ehttpUrlConnection.setDoOutput(false), logo após a construção do httpUrlConnection?

A razão pela qual peço, é que a maioria dos exemplos que vi não fazem tal limpeza.http://www.exampledepot.com/egs/java.net/post.html ehttp://www.vogella.com/articles/AndroidNetworking/article.html. Eu só quero ter certeza de que esses exemplos estão corretos também.

public static String getResponseBodyAsString(String request) {
    BufferedReader bufferedReader = null;
    try {
        URL url = new URL(request);
        HttpURLConnection httpUrlConnection = (HttpURLConnection)url.openConnection();
        InputStream inputStream = httpUrlConnection.getInputStream();
        bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

        int charRead = 0;
        char[] buffer = new char[1024];
        StringBuffer stringBuffer = new StringBuffer();
        while ((charRead = bufferedReader.read(buffer)) > 0) {
            stringBuffer.append(buffer, 0, charRead);
        }
        return stringBuffer.toString();
    } catch (MalformedURLException e) {
        Log.e(TAG, "", e);
    } catch (IOException e) {
        Log.e(TAG, "", e);
    } finally {
        close(bufferedReader);
    }
    return null;
}

private static void close(Reader reader) {
    if (reader != null) {
        try {
            reader.close();
        } catch (IOException exp) {
            Log.e(TAG, "", exp);
        }
    }
}

questionAnswers(2)

yourAnswerToTheQuestion