Une bonne raison de mettre les choses dans le constructeur comme l'avait indiqué le commentaire de Gili est l'utilisation des champs finaux.
Cependant, si vous initialisez des choses dans le constructeur, la durée de vie de l'objet sera un peu plus longue, bien que je ne pense pas de beaucoup car le onCreate
serait appelé peu de temps après.
Bien que ce soit contre mon idéal, j'évite le constructeur pour l'initialisation des membres de l'activité et je compte sur onResume()
et onPause()
pour les ressources que mon application traite.
Car onCreate()
je l'utilise généralement pour faire le mappage de vues sur des variables locales. Bien que Android-annotations le fasse déjà pour moi, j'ai rarement une onCreate()
méthode pour mon activité. Je l'utilise toujours en service.
Cependant, si vous regardez les membres que vous initialisez peut-être
ils auraient une méthode "close" que vous devrez appeler au bon moment (onResume ou onPause)
ils feraient partie de la vue, ce qui signifie qu'il doit être initialisé puis onCreate doit être appelé
ce sont des constantes qui n'ont pas besoin d'être placées dans le constructeur de toute façon, juste une finale statique ferait l'affaire. Cela inclut les constantes Paint et Path qui peuvent être initialisées par un bloc statique