Quels sont les avantages de cette approche (l'utilisation de la classe imbriquée statique dans ma classe MyAdapter étend RecyclerView.Adapter):
static class MyVH extends RecyclerView.ViewHolder {...}
Et cette approche (en utilisant la classe interne des membres):
class MyVH extends RecyclerView.ViewHolder {...}
Ou cela n'affecte pas les performances et les deux approches pourraient être utilisées?
Il s'agit plus d'une question Java que d'une question Android. Il est recommandé d'utiliser statique pour les classes internes pour éviter les fuites de mémoire si vous supprimez leurs instances de Vous pouvez jeter un oeil à this post génial qui explique les fuites de mémoire sur les classes internes.
Fondamentalement, ce que nyx dit:
En répondant à votre question sur les performances, vous pouvez consulter la réponse this . Le statique prendra moins de mémoire que l'autre, mais encore une fois, nous parlons de recycleurs qui recycleront les instances, donc l'impact de la mémoire n'est pas un problème.
Si vous souhaitez utiliser une vue à plusieurs endroits, il est recommandé de créer des classes distinctes. Sinon, si vous souhaitez utiliser la vue uniquement à un seul endroit, créez une vue imbriquée non statique. Un viewholder statique n'a aucun sens
Dans la plupart des endroits, j'utilise la classe de visionneuse imbriquée