2016-01-21 1 views
0

Nous avons une application où nous téléchargeons des textes et jusqu'à trois cents images lorsque l'utilisateur se connecter à l'application. L'application est initialement téléchargée depuis l'App Store ou Google Play et le téléchargement dans les magasins fonctionne correctement. Nous connaissons cependant des temps de téléchargement relativement lents pour les images. Par exemple. il faudra jusqu'à 8 minutes pour télécharger environ 250 images avec une résolution de 768 * 1024. Lorsque nous téléchargeons un seul fichier d'une taille comparable (aux 250 images), ce téléchargement peut être réalisé en environ 1 minute. Nous avons étudié un peu et trouvé un overhead d'environ 150 ms de fichier pr, mais cela n'explique presque pas la différence entre le téléchargement du même volume dans un fichier par rapport à 250 fichiers, donc nous ne savons pas d'où vient le surcoût.Télécharger de nombreux fichiers à l'application

Nous envisageons maintenant de compresser toutes les images sur le serveur avant de télécharger, puis de décompresser les images sur l'application. Il y aura des frais généraux sur l'emballage et le déballage du fichier zip, mais cela pourrait en valoir la peine.

Quelqu'un a-t-il une expérience avec ce type d'architecture d'emballage/déballage pour télécharger de nombreux fichiers sur des applications, ou peut-être d'autres suggestions pour augmenter les performances du téléchargement?

Merci.

Claus

+0

comment téléchargez-vous les images? – njzk2

+0

Par le biais d'un service Web – Claus

+1

mais comment les * téléchargez-vous *? – njzk2

Répondre

0

Vous êtes probablement établir des connexions séparées pour chaque téléchargement de fichier, ce qui provoque beaucoup de frais généraux TCP, surtout si la connexion est sécurisée, qu'il devrait être.

Vous devez conserver une connexion et l'utiliser pour transférer tous les fichiers.

+0

Tout d'abord: oui, nous utilisons une connexion sécurisée. Cependant, nous téléchargeons toutes les images au moment où l'utilisateur se connecte à l'application. Je pense que la connexion est maintenue ouverte pendant ce temps de téléchargement car il y a une activité continue. Mais il semble que vous pensez que la connexion est fermée entre chaque téléchargement d'image. Si c'est le cas, que suggérez-vous pour maintenir la connexion ouverte de façon permanente? – Claus

+0

Je pense que notre solution sera de faire une version .tar des images afin que nous puissions obtenir tous les fichiers en une fois. Ensuite, nous n'avons pas de frais généraux de tous ces petits fichiers. Pour Android, je pense que nous allons utiliser le gestionnaire de téléchargement pour contrôler le téléchargement du gros fichier, et pour iOS, il s'agira soit du service de transfert en arrière-plan, soit de l'application: UIApplication.sharedApplication(). IdleTimerDisabled = true – Claus

+0

Je suis à peu près sûr que cela fonctionnera. – wvdz