Предупреждение об утечке соединения от HttpURLConnection OkHttp3 - PullRequest
0 голосов
/ 12 октября 2018

Я уже давно борюсь с этой проблемой, и я не могу найти никаких ответов в Интернете.

В своей голове я закрываю все, что должно быть закрыто.Я никогда не получаю тело ответа, поэтому я не понимаю, как оно может быть утечкой или как мне его закрыть.

Мой код:

    try {
        String urlString = AppConfig.probeNodeReportHost();
        URL url = new URL(urlString);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
        conn.setDoOutput(true);
        conn.setDoInput(true);

        DataOutputStream os = new DataOutputStream(conn.getOutputStream());
        os.writeBytes(json.toString());
        os.flush();
        os.close();

        conn.disconnect();
        return true;
    }catch(java.net.SocketTimeoutException e) {
        System.out.println("ERROR: Request timed out");
    }catch(java.net.UnknownHostException e){
        System.out.println("ERROR: Unknown host");
        if(AppConfig.hasNoInternetConnection()){
            System.out.println("NO INTERNET CONNECTION");
        }else{
            System.out.println("Has internet connection");
        }
    }catch (Exception e){
        e.printStackTrace();
    }finally{
        if (conn != null) {
            conn.disconnect();
        }
    }

Редактировать: точное сообщение об ошибкеЯ получаю это:

W/OkHttpClient: A connection to 'https://admin.ststage.se/' was leaked. Did you forget to close a response body?
...