1

J'ai une application qui va faire une bonne quantité de communication avec un serveur via HTTP, et ces connexions peuvent se chevaucher. Je prévois de charger les données de manière asynchrone. Je comprends qu'il y a une perte de performance associée à l'allocation de mémoire, alors j'ai pensé que la chose intelligente à faire serait de garder un ensemble d'objets de connexion disponibles de sorte que chaque fois que je devrais communiquer avec le serveur, n'aurait pas à allouer une nouvelle connexion, il suffit de réutiliser une connexion inactive. Cependant, il ne semble pas y avoir de moyen de lancer une connexion existante avec un nouvel objet de requête. Est-ce quelque chose qui me manque ou est-ce que j'aboie le mauvais arbre?Réutiliser les objets NSURLConnection?

Répondre

3

Respectez la règle d'or de l'optimisation des performances: Mesurez d'abord. Il est très probable que la perte de performance causée par l'allocation d'un nouvel objet de connexion soit négligeable.

+0

Juste pour clarifier, en gros, vous dites que cela n'en vaut peut-être même pas la peine? – jtrim

+0

Exactement. Si vous voulez être sûr, vous pouvez même mettre en place une cible de test pour de telles hypothèses de performance, allouer autant de connexions que vous aurez besoin et "STAssert" que vous pouvez le faire dans des délais décents. – zoul

+0

Cool, merci pour la perspicacité. Je l'ai examiné un peu plus et j'ai trouvé quelques cas où il est dit que les objets NSURLConnection ne peuvent pas être réutilisés, alors apparemment, ils ne sont pas destinés à être utilisés de cette manière de toute façon. – jtrim