È più una domanda Java che una domanda Android. Si consiglia di utilizzare la staticità per le classi interne per evitare perdite di memoria se si prendono le proprie istanze fuori dalla classe. Puoi dare un'occhiata al post impressionante this che spiega le perdite di memoria sulle classi interne.
Fondamentalmente ciò che Nyx dice:
- Se si dichiara la viewholder come statica è possibile riutilizzarlo in altri adattatori. Ad ogni modo, non consiglio di farlo, creare una nuova classe separata e usarla da più posti, ha più senso. Una lezione per uno scopo.
- Nel caso di proprietari di view, queste classi saranno utilizzate solo all'interno dell'adattatore, le loro istanze non dovrebbero andare al frammento o all'attività o altrove solo per definizione. Ciò significa che averlo statico o non statico, nel caso dei possessori di una vista, è lo stesso.
Rispondendo alla domanda sul rendimento, è possibile dare un'occhiata alla risposta this. Quello statico richiederà meno memoria dell'altro, ma di nuovo, stiamo parlando di riciclatori che ricicleranno le istanze, quindi l'impatto della memoria non è un problema.
Risposta stupenda! –
grazie per la spiegazione –
spiegazione perfetta – user2695433