Как onCreate() и onStart() влияют на производительность при запуске активности

Всякий раз, когда создается новое действие, вызывается onCreate. Далее следует onStart. И onStart вызывается снова, когда активность возвращается на экран. Я знаю эти основы. Но в чем реальная разница между тем, когда вы запускаете действие.

Я имею в виду, когда вы нажимаете на какой-либо объект в текущей активности, вы запускаете новую активность методом startActivity() с намерением новой активности. Теперь будет вызываться onCreate() второго действия, а затем onStart(). Когда активность будет видна пользователю? После onCreate или после onStart? Если он виден после onCreate и до onStart, и я выполняю некоторые операции в onStart(), то это уменьшит задержку между нажатием пользователем на объект и появлением экрана на экране.

Если я перенесу некоторые привязки данных в onStart, будет ли это мешать переходам активности по умолчанию на леденец и выше (я не уверен в этом)?

Стоит ли переместить часть кода в onStart, чтобы уменьшить задержку между кликом и новой активностью, отображаемой на экране пользователя? Если да, то какой код можно смело переносить на onStart? Например, привязки данных, запросы к базе данных и т. д.?

Любое руководство будет высоко оценено.


person kirtan403    schedule 28.05.2016    source источник
comment
Содержимое вашей активности будет видно в onResume().   -  person Nongthonbam Tonthoi    schedule 28.05.2016
comment
@Kirtan403 активность, видимая пользователю в onResume()   -  person Nisarg    schedule 28.05.2016
comment
Это может вам помочь: stackoverflow.com/ вопросы/6812003/   -  person Sharad Chauhan    schedule 28.05.2016
comment
Итак, похоже, что активность, видимая после onStart, и onResume будет вызываться после onStart. Таким образом, onStart будет вызываться до того, как активность будет видна на экране.   -  person kirtan403    schedule 28.05.2016


Ответы (1)


В методе onCreate действие фактически создается, а затем второй метод onStart получает вызов во время onStart, пользовательский интерфейс фактически становится видимым для пользователя, для лучшего понимания действия вам необходимо понять жизненный цикл действия. введите здесь описание изображения

person Pradeep Deshmukh    schedule 28.05.2016
comment
Так что это будет видно после onStart. Так что нет смысла пропускать какой-то контент в onStart. Только когда некоторые вещи необходимо повторно инициализировать после того, как активность была остановлена ​​и снова выведена на экран. - person kirtan403; 28.05.2016
comment
Да верно, но не кладите ненужные тяжелые объекты в метод onStart(), по возможности поместите их в onCreate(), потому что метод onStart() может получить номера вызовов времени. - person Pradeep Deshmukh; 28.05.2016