Pourquoi GetCount est-il appelé à plusieurs reprises dans PagerAdapter?

J'ai remarqué aujourd'hui que le PagerAdapter s'appelle une grande quantité de fois. J'ai compté 393 en défilant lentement les pages. J'ai vu cette question mais cela ne m'a pas vraiment répondu.

  1. Est-ce ce comportement normal?
  2. Si oui, pourquoi est-ce que la méthode getCount est appelée si souvent?

Juste pour être clair, je cherche une réponse plus étendue que celle de la question fournie. Je me rends compte aussi que je dois le garder aussi rapidement et que je n'ai aucun contrôle sur la façon dont il s'appelle, mais ce n'est pas la question ici.

  • Appeler une méthode d'activité à partir d'un fragment
  • Android Studio pour chaque macro
  • Comment créer ce type de pinceau pour peindre dans Android
  • MediaPlayer arrête de jouer après environ 5 secondes
  • Différentes bibliothèques / importations selon le type de construction
  • Comment attacher un auditeur à un bouton radio
  • Comment changer une distance de 1 mètre à pixel?
  • Android MVP avec Dagger 2 - Activité avec plusieurs fragments
  • Comment activer la vérification de peluches Android pour l'annotation @Nullable?
  • Comment cacher le groupe dans ExpandableListView dans Android
  • Vibrer en appuyant sur le bouton
  • API Android Google Maps: Hide Snippet Marqueur
  • One Solution collect form web for “Pourquoi GetCount est-il appelé à plusieurs reprises dans PagerAdapter?”

    Comme vous l'avez conclu, on utilise beaucoup sur onTouchEvent. OnTouchEvent est appelé chaque fois que vous interagissez avec l'écran, c'est-à-dire toucher le mouvement et lancer des événements. Le déplacement d'un seul pixel entraînerait un appel potentiel à cette méthode.

    Il n'y a pas grand-chose à expliquer, c'est la façon dont il est mis en œuvre. Habituellement, adapter.getCount est implémenté avec quelque chose comme List.getSize ou Cursor.getCount. Et a presque aucun frais généraux. S'il s'agit d'un problème, optimisez la méthode ListAdapter.getCount, cachez le compte ou quelque chose comme ça. Il suffit de faire des choses complexes là où cela est nécessaire et de mettre en cache le résultat jusqu'à ce qu'il devienne invalide.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.