2013-05-24 1 views
1

J'ai une application qui obtient des données de l'API Web. Je renvoie des informations et des images de web api. J'ai 2 options pour l'image et ceux-ci sont:Web Api au transfert d'image de l'application Android

  • Retournez le lien d'image (adresse Web) et le téléchargez avec la tâche asynchrone.

  • Retourne une image dans une chaîne codée en base64.

Je voudrais savoir ce qui est plus rapide et meilleure idée?

Merci.

Répondre

3

je dirais que cela dépend de la façon dont votre application est workingand ce dont il a besoin, Les données lui-même est le même, donc il suffit de penser ce qui s'adapter à votre application mieux,

Je vais vous donner quelques exemples:

Si l'api Web renvoie beaucoup de réponses avec la même image et des informations différentes, vous pouvez utiliser un autre serveur pour que vous puissiez utiliser des systèmes de mise en cache/cdn et que mieux exécuter votre application

Si cela vous aidera que la "info" atteindra l'application avant l'image (de sorte que vous pouvez le charger en premier), vous sh Utilisez également la première option, et lorsque le processus asynchrone se termine, affichez l'image (juste un exemple ...)

Si vous voulez épargner des ressources informatiques des serveurs api chaque fois qu'il est utilisé (encodage de l'image en base64 ect ..) vous devez également utiliser la première option

Si disons, vous voulez vous assurer que toutes les données viennent en une seule fois et que ce qui précède ne vous concerne pas, peut-être que vous préféreriez la deuxième option

Si vous voulez éviter les demandes asynchrones ou avoir plusieurs demandes à chaque fois, la deuxième option est meilleure pour vous aussi

Ainsi, son juste jusqu'à ce que votre application a besoin :)

espoir j'ai aidé

+0

Il n'y a pas moyen de me utiliser CDN à ce moment. Est-ce que l'encodage de l'image en base64 string consomme des ressources plus que l'envoi d'un lien vers l'application et le téléchargement du serveur? – JustWork

+0

Il y a beaucoup de systèmes d'encaissement, et oui il faut du CPU/mémoire car votre API a besoin de lire le fichier image et de le convertir en base 64 ... si vous le téléchargez à partir d'un serveur iis/apache un peu ... mais tout dépend de la quantité de trafic à gérer et de la façon dont l'API se comporte ... –