Хорошая причина для помещения вещей в конструктор, как заявил комментарий Гили, - это использование конечных полей.
Однако, если вы инициализируете вещи в конструкторе, срок службы объекта будет немного длиннее, хотя я не думаю, что много, потому что вскоре после этого будет вызван onCreate
.
Хотя это против моего идеала, я избегаю конструктора для инициализации членов активности и полагаюсь на onResume()
и onPause()
для ресурсов, с которыми связано мое приложение.
Для onCreate()
Обычно я использую его для отображения отображения локальных переменных. Хотя андроидные аннотации уже делают это для меня, поэтому у меня редко есть метод onCreate()
для моей активности. Я все еще использую его в Сервисе.
Однако, если посмотреть на членах может быть инициализация
они будут иметь метод «близко», что вы должны вызвать в нужное время (onResume или OnPause)
они будут частью представления, что означает, что он должен быть инициализирован, тогда onCreate нужно называть
Это константы, которые в любом случае не нужно вставлять в конструктор, только статический конечный результат. Это включает в себя константы Paint и Path, которые могут быть инициализированы статическим блоком
Что можно сказать о том, что Android может уничтожить/воссоздать вашу деятельность в любое время? Вы не знаете, будет ли конструктор вызываться тогда и даже если - какой конструктор будет вызываться ... (то же самое относится и к фрагментам, и именно поэтому каждый Фрагмент должен реализовать пустой конструктор по умолчанию). –