В сервисе у меня есть таймер по окончанию которой идет запрос к серверу:
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 минут делает запрос
Как сделать слушатель для графики OnDraw в MainActivity на нажатие?
У меня есть mysql сервер и 2 приложения: web (сайт, grails 3) и android приложениеБаза данных содержит расписание матчей
Как в одном из нескольких фрагментов добавить постоянно отображающийся клавиатуру
Здравствуйте! У меня почему то не работает кнопки в Mozilla Firefox, если внутри них расположить иконку или картинкуС чем это связано, и как эту проблему...