Un buon motivo per mettere le cose nel costruttore come aveva affermato il commento di Gili è l'uso dei campi finali.
Tuttavia, se si inizializzano le cose nel costruttore, la durata di vita dell'oggetto sarà un po 'più lunga, anche se non penso di molto perché onCreate
verrebbe chiamato poco dopo.
Sebbene sia contro il mio ideale, evito il costruttore per l'inizializzazione dei membri dell'attività e faccio affidamento su onResume()
e onPause()
per le risorse con cui la mia app ha a che fare.
Di onCreate()
solito lo uso per eseguire la mappatura della vista su variabili locali. Sebbene le annotazioni Android lo facciano già per me, raramente ho un onCreate()
metodo per la mia attività. Lo uso ancora in Servizio però.
Tuttavia, se guardi i membri che stai inizializzando
avrebbero un metodo "close" che devi invocare al momento giusto (onResume o onPause)
farebbero parte della vista, il che significa che deve essere inizializzato, quindi deve essere chiamato onCreate
sono costanti che non devono essere inserite comunque nel costruttore, basterebbe solo una finale statica. Ciò include le costanti Paint e Path che possono essere inizializzate da un blocco statico