Sono consapevole che le classi interne non sono consigliate in Android perché contengono un riferimento alla classe che le include. Tuttavia, in Java, la classe esterna è solo GCed quando la classe interna non viene più referenziata. Ciò significa che, in Android, purché tu abbia un riferimento non statico nella classe di attività esterna alla classe interna, la classe interna non può esistere più a lungo della classe di attività esterna perché l'attività può essere distrutta solo se non contiene un riferimento alla classe interiore (almeno questo è quello che sto dicendo). Quindi qual è il problema usando le classi interne non statiche (dato che non possono ovviamente esistere più a lungo dell'attività esterna se si deduce da java)? Mi sto perdendo qualcosa?Classi interne: Android vs Java
Grazie!
Dove l'hai letto le classi interne non statici non sono raccomandati in Android? – Cristian
Questo non è solo un problema di Android. Per il codice intercambiabile e veloce, è necessario evitarli, ad eccezione del fatto che sono statici e memorizzano le informazioni richieste come campi locali. Il problema con le classi interne è che non è possibile impostare il riferimento alla classe genitore su 'null' per ottenerlo. Il compilatore deve generare metodi di accesso se i membri della classe genitore che l'accesso alla classe interna sono privati e si ha una classe interna per ogni istanza della classe genitore. – Stephan
@Cristian scorrere fino alla fine di questo link http://developer.android.com/resources/articles/avoiding-memory-leaks.html da evitare se non è possibile controllare il ciclo di vita della classe interna. – OckhamsRazor