Я разрабатываю приложение androi, которое отправляет много http-запросов (HttpURLConnection). Все работает, но я думаю, что мои объекты не выпускаются. Я говорю, что, когда я смотрю на MAT (Eclipse Memory Analyzer), он говорит, что у меня много байта [] сохранено. Я просматриваю байты на MAT, и это байты, которые я получаю в моем методе HttpURLConnection. Ниже приведен мой код для отправки HTTP-запроса. Есть ли что-нибудь еще, что я могу сделать, чтобы выпустить мои объекты?Как освободить байты HttpURLConnection?
public static String sendHTTPRequest(String requestURL, int timeout) {
HttpURLConnection httpconn = null;
try {
URI uri = new URI(getUTF8Request(requestURL));
httpconn = (HttpURLConnection) uri.toURL().openConnection();
httpconn.setConnectTimeout(timeout);
StringBuilder responseStringBuilder = new StringBuilder();
if (httpconn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader input = new BufferedReader(
new InputStreamReader(httpconn.getInputStream(),
"ISO-8859-1"), 8192);
String strLine = null;
while ((strLine = input.readLine()) != null) {
responseStringBuilder.append(strLine);
}
input.close();
strLine = null;
input = null;
}
return responseStringBuilder.toString();
} catch (URISyntaxException e) {
httpconn = null;
return "Failed to request";
} catch (IOException e) {
httpconn = null;
return "Failed to request";
} finally {
requestURL = null;
if (httpconn != null) {
httpconn.disconnect();
httpconn = null;
}
}
}
Я боялся, потому что использование памяти увеличено и никогда не уменьшалось, но у меня не было никакой изъяны. Думаете ли вы, что, когда он близок к outofmemory, сбор мусора будет де-выделить этот байт []? – user2494863
Да, это то, что делает сборщик мусора, управляет памятью для вас. –