Запрос залпа становится слишком медленным, когда телефон переходит в режим сна и снова возвращается в приложение

В течение нескольких дней я сталкиваюсь с неопознанной проблемой, когда запрос залпа становится слишком медленным, когда телефон переходит в спящий режим на некоторое время, а затем возвращается в приложение, я пробовал так много 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;
}
Другие вопросы по тегам