J'utilise volley pour accéder à mon service REST. Voici comment mon code ressemble à:Volley Demande engendre Threads
StringRequest postRequest = new StringRequest(Method.POST, "http://....",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
...
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
...
}
}
) {
@Override
protected Map<String, String> getParams() {
...
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
...
}};
postRequest.setShouldCache(false);
Volley.newRequestQueue(context).add(postRequest);
Tout fonctionne comme prévu, mais quand j'ouvre ADV je peux voir, que cinq nouveaux threads sont créés qui ont le statut « Wait » depuis le début. Ces threads ne sont jamais supprimés. Donc, ma question est la suivante: est-ce un comportement normal? Est-ce un problème pour la performance de mon application? Parce que j'ai l'impression que ça ralentit après un moment. Je finis par avoir plusieurs centaines de threads avec le statut "Wait" dans la liste jusqu'à ce que je ferme vraiment l'application et le redémarre.
Merci, alors utiliser une aide singleton? https://developer.android.com/training/volley/requestqueue.html#singleton – gnome
Cela n'a rien à voir avec singleton. Volley crée 5 threads dans la piscine juste pour faire des requêtes parallèles de manière plus efficace. Tu ne devrais pas t'inquiéter pour ça. – Divers