Запрос залпа становится слишком медленным, когда телефон переходит в режим сна и снова возвращается в приложение
В течение нескольких дней я сталкиваюсь с неопознанной проблемой, когда запрос залпа становится слишком медленным, когда телефон переходит в спящий режим на некоторое время, а затем возвращается в приложение, я пробовал так много Retrypolicies, выданных залпом, но ни одна из них не работает правильно. мой пример кода, запрашивающий залп для получения данных.
JsonObjectRequest movieReq = new JsonObjectRequest(
"MyURL" + session.getBusinessUserRegisterID(),
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
String Connectionscount = response.getString("Connections");
String Expiredcountval = response.getString("Expired");
String Livecountval = response.getString("Live");
String NewCustomerscount = response.getString("NewCustomers");
String NewNotificationscount = response.getString("NewNotifications");
String SmsBalancecount = response.getString("SmsBalance");
String TotalCustomercount = response.getString("TotalCustomer");
Newnotificationscount.setText(NewNotificationscount);
Livecount.setText(Livecountval);
Expiredcount.setText(Expiredcountval);
Totalcustcount.setText(TotalCustomercount);
Newcustcount.setText(NewCustomerscount);
Myconnectionscount.setText(Connectionscount);
Smscount.setText(SmsBalancecount);
ringProgressDialog.dismiss();
mSwipeRefreshLayout.setRefreshing(false);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
movieReq.setRetryPolicy(
new DefaultRetryPolicy(
10000,0,1f
)
);
AppController.getInstance().addToRequestQueue(movieReq);
В первом случае размещение второго параметра DefaultRetryPolicy больше 0, слишком долго, чтобы дать ответ
movieReq.setRetryPolicy(
new DefaultRetryPolicy(
10000,1,1f
)
);
Во втором случае второй параметр помещается в 0, так что мне может быть выдана ошибка, если залп не отвечает в течение 10 секунд (я показываю предупреждение, чтобы повторить попытку).
movieReq.setRetryPolicy(
new DefaultRetryPolicy(
10000,0,1f
)
);
1 ответ
Попробуйте установить высокий приоритет как:
@Override
public Priority getPriority() {
return Priority.HIGH;
}