2010-07-07 2 views
1

J'ai un HorizontalScrollView qui a beaucoup de vues et d'images à l'intérieur. Le problème est que si j'ai beaucoup de choses à l'intérieur, j'obtiendrai un 'java.lang.OutOfMemoryError: la taille de l'image dépasse le budget de la machine virtuelle'Android - comment améliorer HorizontalScrollView qui a beaucoup de vues/images à l'intérieur

est-il possible d'utiliser une sorte de cache ou d'ajouter/supprimer des éléments? comme je me déplace à gauche/droite, donc ce n'est pas sur la mémoire tout le temps?

Merci

Répondre

0

Je pense que ce que vous voulez est le widget existant Gallery fourni par Android.

Gallery is a layout widget used to display items in a horizontally scrolling list and positions the current selection at the center of the view.

+0

merci. Pensez-vous que c'est une bonne idée d'utiliser Gallery si les choses qui vont dans la galerie sont différentes (certaines sont des images, d'autres sont des textviews, etc.) ?? –

+0

Ça vaut le coup au moins. La seule façon de le savoir est de l'essayer! – kiswa

+0

Merci, je pense que la galerie est bonne. Mais j'ai mis Listviews à l'intérieur de la galerie et il y a un saut bizarre parce que je pense que la galerie et la listview se battent pour la mise au point. Avez-vous vécu cela? –

0

Avoir beaucoup de choses dans un ScrollView signifie que toute la vue hiérarchique doit être peuplé d'objets très lourds, créant ainsi la question de la mémoire.

Toute solution proposée pour ce problème va fondamentalement réinventer les widgets ListView et GridView. Si cela ne vous dérange pas de changer votre direction de défilement, utilisez-les et laissez ces widgets très intelligents gérer la gestion de la mémoire.

Questions connexes