Quand utilisons-nous le recyclerView.setHasFixedSize?

Voici la chose: quelqu'un connait-il la méthode setHasFixedSize? Certains affirment qu'il permet des optimisations si tous les éléments sont de la même taille et dans la classe RecyclerView à partir d'android.support.v7.widget, il a commenté ceci: RecyclerView peut effectuer plusieurs optimisations si elle peut savoir à l'avance que les modifications apportées au contenu de l'adaptateur Ne peut pas modifier la taille de RecyclerView elle-même. Si votre utilisation de RecyclerView tombe dans cette catégorie, définissez ceci comme vrai.

Qu'est ce que c'est supposé signifier? Quelqu'un peut-il me montrer le contexte de l'utiliser ou expliquer le sens de cette catégorie ci-dessus? Merci beaucoup.

  • Renvoie un réseau de chaînes sur une méthode JNI
  • GetLayoutInflater () dans le fragment
  • Utilisez RxJava et Retrofit pour itérer à travers la liste et augmenter les résultats en fonction des sous-requêtes
  • Rétrofit 2.0-Beta1 Lire la réponse de Observable
  • DexIndexOverflowException: Impossible de fusionner un nouvel index 65772 dans une instruction non jumbo !: Mode Jumbo? Et / ou Multi-Dex? Qu'est-ce qui se cache derrière la scène?
  • Comment obtenir la taille de l'écran Android de manière programmée, une fois pour toutes?
  • 2 Solutions collect form web for “Quand utilisons-nous le recyclerView.setHasFixedSize?”

    Il est intéressant pour RecyclerView de savoir si sa taille (dimensions de largeur et de hauteur) dépend du contenu de l'adaptateur pour éviter les opérations de mise en page coûteuses. Si RecyclerView sait à l'avance que sa taille ne dépend pas du contenu de l'adaptateur, elle sautera la vérification si sa taille devrait changer chaque fois qu'un élément est ajouté ou supprimé de la carte. Ceci est particulièrement important car l'insertion d'éléments de suppression peut se produire très souvent.

    Si la taille de RecyclerView (le RecyclerView lui-même) …

    ne dépend pas du contenu de l'adaptateur:

     mRecyclerView.setHasFixedSize(true); 

    dépend du contenu de l'adaptateur:

     mRecyclerView.setHasFixedSize(false); 

    Si vous vérifiez la classe RecyclerView, vous la verrez en plus de détails car dès le moment, mHasFixedSize n'est pas utilisé dans de nombreux endroits de cette classe.

    Définir cela comme vrai ne signifie pas que la taille RecyclerView est corrigée, signifie simplement qu'elle ne changera pas en raison de la modification du contenu de l'adaptateur. Par exemple, la taille RecyclerView peut changer en raison d'un changement de taille sur son parent.

    SetHasFixedSize () permet de laisser le RecyclerView garder la même taille .

    Cette information sera utilisée pour l' optimisation .

    Voici l'URL de référence

    http://antonioleiva.com/recyclerview/

    Exemple:

     RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list); recyclerView.setHasFixedSize(true); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.