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.

  • Quelles fonctionnalités les applications Web progressives ont-elles par rapport aux applications natives et vice-versa, sur Android?
  • GLES10.glGetIntegerv renvoie 0 dans Lollipop uniquement
  • Comment acheminer tout le trafic en provenance du tethering?
  • NotificationCompat.setStyle () ne peut pas recevoir Notification.MediaStyle
  • Fichier de configuration Android Studio ORMLite - Impossible de trouver un répertoire brut
  • Supprimer un dossier sur une carte SD
  • Développement de jeux Android SDK?
  • Android: Obtenez le nom de l'application (pas le nom du package)
  • Différence entre Kivy et PY4A
  • Android proguard, garde la classe intérieure
  • Comment utiliser des saveurs avec différents noms d'applications dans Android Studio?
  • La classe d'application global personnalisée se casse avec "android.app.Application ne peut pas être diffusé"
  • 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.