CountDownTimer потребляет много памяти

323
08 марта 2017, 17:54

В сервисе у меня есть таймер по окончанию которой идет запрос к серверу:

public void timerToConnect() {
        final CountDownTimer countDownTimer = new CountDownTimer(1000 * 60 * TIME_TO_REQUEST, 1000 * 60 * TIME_TO_REQUEST_INTERVAL) {
            @Override
            public void onTick(long l) {
            }
            @Override
            public void onFinish() {
                getDataFromServer();
            }
        };
        countDownTimer.start();
    }

Вот сам метод:

public void getDataFromServer() {
    StringRequest stringRequest = new StringRequest(Request.Method.POST, API_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    if (!response.isEmpty() && JSON_Utils.isJSONValid(response) && !response.trim().equals("\"error\"")) {
                        ReadData readData = new ReadData(response);
                        List<MainModel> mainList = readData.getMainModelList();
                    }
                    timerToConnect();
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.d("CONNECTION", "Ошибка при подключении к сети " + error);
                    getDataFromServer();
                }
            }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("tvid", GlobalData.getTvId(getApplicationContext()));
            return params;
        }
    };
    stringRequest.setRetryPolicy(new DefaultRetryPolicy(
            20000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    Volley.newRequestQueue(this).add(stringRequest);
}

В отладке показывает Таймер что много кушает. Мне еще кажется что нужно очищать и Volley. Хотя не знаю как. Подскажите, как сделать так чтобы таймер не потреблял много память в сервисе, так как он каждые 5 минут делает запрос

READ ALSO
Cлушатель для графики OnDraw

Cлушатель для графики OnDraw

Как сделать слушатель для графики OnDraw в MainActivity на нажатие?

259
Как использовать hibernate grails 3,mysql?

Как использовать hibernate grails 3,mysql?

У меня есть mysql сервер и 2 приложения: web (сайт, grails 3) и android приложениеБаза данных содержит расписание матчей

336
Отображение клавиатуры в фрагменте

Отображение клавиатуры в фрагменте

Как в одном из нескольких фрагментов добавить постоянно отображающийся клавиатуру

246
Не работают кнопки в Mozilla Firefox

Не работают кнопки в Mozilla Firefox

Здравствуйте! У меня почему то не работает кнопки в Mozilla Firefox, если внутри них расположить иконку или картинкуС чем это связано, и как эту проблему...

451