OkHttpClient fermeture de la connexion
Je voudrais utiliser OkHttpClient pour charger une url, et si le site web à l'url donnée répond avec un pdf de type de contenu, je vais aller de l'avant et télécharger le PDF, sinon je veux ignorer la réponse.
Ma question est, dois-je faire quelque chose de spécial pour fermer la requête/réponse, ou dois-je faire quelque chose pour indiquer que je n'utiliserai pas la réponse, si j'ai le choix de ne pas lire la réponse bytestream? Si non, quand est-OkHttpClient fermer la connexion?
OriginalL'auteur Wise Shepherd | 2015-03-15
Vous devez vous connecter pour publier un commentaire.
Appel
response.body().close()
va libérer toutes les ressources détenues par la réponse. Le pool de connexion permettra de garder la connexion ouverte, mais qui va se ferment automatiquement après un délai d'attente si il va inutilisés.En général, vous devez fermer la réponse. Si vous lisez le bytestream à la fin, OkHttp permettra de libérer des ressources pour vous, mais c'est toujours une bonne pratique pour le fermer de toute façon. Si vous annulez la demande, il vous suffit de fermer si
onResponse
est appelée. Si elle ne le fait pas, nous avons annulé assez tôt qu'il n'y a rien à proximité.Vous pouvez également appeler
response.close()
qui, selon la documentation, est équivalent àresponse.body().close()
.OriginalL'auteur Jesse Wilson