Affichage De La Liste De Défilement N'Est Pas Lisse
j'ai une liste personnalisée de la vue qui affiche les utilisateurs, et il y a des photos
- je récupérer les données à partir de l'API, ce Qui donne à la Sortie JSON,
Mon Problème est que l'affichage de la liste n'est pas défilement en douceur, il se bloque pendant une seconde et parchemins, il répète le même jusqu'à la fin.
j'ai pensé que ça pourrait être parce que je suis en cours d'exécution relatifs au réseau de l'opération sur le thread de l'INTERFACE utilisateur, mais il continue à le faire même après avoir terminé le chargement?
la structure de ma coutume Listview est
<TextView style="@style/photo_post_text"
android:id="@+id/photo_post_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="demotext"
/>
<ImageView
android:id="@+id/userimage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:src="@drawable/pi"
/>
Utilisation Traceview,
StrictMode
, et d'autres outils (curious-creature.org/2012/12/01/android-performance-case-study) afin de déterminer la source de votre problème.OriginalL'auteur Robert Ray | 2013-11-18
Vous devez vous connecter pour publier un commentaire.
Utiliser un AsyncTask pour le chargement de vos photos. Le défilement ne va pas être lisse aussi longtemps que vous faites de telles tâches dans le thread de l'INTERFACE utilisateur.
Ont un coup d'oeil à ce tutoriel. Il vous aidera à comprendre ce dont vous avez besoin pour mettre en œuvre, sans la nécessité de bibliothèques supplémentaires. Aussi s'il vous plaît gardez à l'esprit que les lignes sont redessinées tout le temps pendant que vous faites défiler, il n'y a pas de véritable "finition" de chargement. Vous pouvez en outre envisager une image-cache, par exemple, avec un ConcurrentHashMap dans lequel vous pourriez mettre votre chargé photos.
OriginalL'auteur Blacklight
Pour le Chargement de l'Image rapidement utiliser cette lib il est très rapide à charger les images
https://github.com/bumptech/glide
Pour l'affichage de la Liste de Défilement lisse utilisation strictMode .Écrire dans l'activité onCreate() la méthode
sur chose de plus à ajouter dans onCreate() la méthode
ajouter dans la classe d'Adaptateur
OriginalL'auteur SAndroidD
Il peut y avoir un certain nombre de raisons pour ne pas lisse défilement de la liste. Vous pouvez assurez-vous d'utiliser certaines des meilleures pratiques comme
getView()
de la liste de l'adaptateurAsyncTask
pour télécharger JSON à partir du réseau et de réseau liés à la transformation se fait dans le thread séparé.Une fois que vous assurez-vous que vous avez couvert le plus haut, du bon travail.
Heureux que ça soit utile.
OriginalL'auteur jagmohan