2015-10-21 5 views
0

Je travaille sur le projet dans lequel je fais l'appel au serveur et obtenir l'information, y compris les images. Je dois également supporter différentes dimensions de mobile et de tablette. Dans ce cas, je fais de telle sorte queTraiter les images de différentes tailles tout en obtenant du serveur dans différentes dimensions mobiles?

  1. Je reçois les dimensions mobiles et envoyer au serveur.
  2. En fonction du serveur de dimensions mobiles, envoyez les images.
  3. Cette technique augmentera les performances pour charger les images dans différents mobiles plus rapidement. Et dans cette technique, le serveur n'a pas non plus beaucoup à gérer.

Est-ce que c'est bien ce que je fais ou d'une autre manière?

Répondre

0

J'ai trouvé un moyen plus simple de générer différentes tailles de tirages à partir d'une image de serveur. Vous devez conserver le nombre d'images "modèle" de votre projet dans les dossiers Drawables appropriés. Vous avez besoin d'autant de modèles différents que d'images de taille différente, par exemple si vous ne disposez que d'une seule image. à partir du serveur, c'est-à-dire une image miniature, vous n'aurez besoin que d'un gabarit de vignettes, si vous avez une vignette et une image d'affichage plus grande qui pourrait revenir, vous aurez alors besoin de deux gabarits.

Vous devez ensuite demander au serveur de ne conserver et de renvoyer que les plus grandes images, c'est-à-dire xxxhdpi. Lorsque vous recevez l'image xxxhdpi du serveur, vous devez redimensionner votre image à la même hauteur et largeur de votre image de modèle (que le système choisira en fonction de la taille de l'écran des utilisateurs). Cela vous permet d'utiliser la puissance de Drawables dans Android tout en gardant votre charge utile de serveur faible en ayant seulement besoin d'envoyer une image et vous permet également de garder votre lumière apk comme vous avez seulement besoin de stocker quelques images de modèle dans votre projet. Cela peut également fonctionner si vous devez traiter des fichiers .obb qui ne peuvent pas stocker Drawables.

Espérons que cela aide. Faites-moi savoir si vous avez besoin de moi pour expliquer quelque chose plus en détail ou si vous vous inquiétez de la façon dont quelque chose fonctionnerait, j'ai quelques applications en direct qui utilisent cette méthode.

+0

Si la grande image (taille 6 Mo) vient du serveur vers les dimensions inférieures mobiles qui nécessitent seulement d'afficher 1 Mo d'image et je vais le redimensionner dans les mobiles qui ralentissent mes performances au moment d'obtenir les données du serveur. ... – Android007

+0

Si cela vous inquiète, il existe plusieurs approches différentes pour charger une version réduite de l'image en mémoire. Lisez ici pour plus d'informations à ce sujet - http://developer.android.com/training/displaying-bitmaps/load-bitmap.html. - Aussi la vitesse à laquelle vous recevez les données est plus dépendante de la vitesse Internet que du matériel, à moins que vous ne soyez sur un très vieil appareil Android. Réduire la taille de l'image au fur et à mesure qu'elle est chargée signifie que vous consommez moins de mémoire sur le téléphone. – vguzzi

+0

Mais je vais essayer, je n'ai pas eu de problèmes avec les performances et je chargeais des centaines d'images en très haute résolution. Les applications ont également subi des tests approfondis avant leur publication. Quelle est la version la plus ancienne d'Android que vous supportez? – vguzzi