2013-04-30 9 views
1

Je fais une application qui montre une liste de mes Custom Model. Prenons l'exemple du fil de nouvelles de Facebook. Mon modèle personnalisé contient byte arrays d'images. Pour l'efficacité, je ne reçois que des tableaux d'octets de pouce.Chargement efficace d'une grande quantité de données dans un fragment

Maintenant, chaque élément listView contient des commentaires, des mentions J'aime et bien d'autres choses comme Facebook. Je crée un custom adapter dans lequel je passe Arraylist de mon modèle personnalisé et montrant dans ListView.

Tout fonctionne très bien, cependant, je suis le plus préoccupé par les problèmes de mémoire avec Android. Depuis que j'ai des pouces à montrer et aussi des commentaires et etc.

Ma listeAffiche à l'intérieur d'un fragment. Comment puis-je afficher les éléments de listView qui peuvent contenir des images, des commentaires, etc. sans se bloquer à cause de la mémoire ou du ralentissement. Exemple étant la page de flux Facebook. Ou plus ouvertement, Comment puis-je faire quelque chose de similaire à la page de flux Facebook sans avoir de problèmes à cause de la mémoire ou de ralentir les problèmes.

Quelle stratégie dois-je adopter

Répondre

0

1-Universal Image Loader Pour travailler avec des images

2 - Utilisez la charge plus dans votre listview.

Exemple:

ImageLoader imageLoader = ImageLoader.getInstance(); 
imageLoader.init(ImageLoaderConfiguration.createDefault(this)); 

list.setOnScrollListener(new PauseOnScrollListener(imageLoader, false, true) { 

    @Override 
    public void onScroll(AbsListView view, int firstItem, int itemsInScreen, int totalItems) { 
     super.onScroll(view, firstItem, itemsInScreen, totalItems); 

     int lastItemInScreen = firstItem + itemsInScreen; 
     if (lastItemInScreen == totalItems) { 
      //load more items in your listview 
     } 
    }); 
+0

ImageLoader ralentit, quoique ses images non seulement je veux faire défiler, Il y a beaucoup de texte sous forme de commentaires, etc –

+0

ImageLoader est un moyen rapide pour afficher les images. Il recycle les vues, télécharge les images et les enregistre en cache ou sur disque. Cela fait partie d'une solution que je dois apporter. – andrehsouza

+0

Une autre solution consiste à vous montrer des informations supplémentaires uniquement lorsque cela est nécessaire, par exemple lorsque vous cliquez sur un élément de liste pour afficher plus de détails (commentaires par exemple). Utilisez ArrayAdapter et View Holder Pattern. – andrehsouza

Questions connexes