2016-05-28 4 views
0

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

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

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

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

Любые указания будут высоко оценены.

+1

Содержание вашей деятельности будет отображаться в onResume(). –

+1

@ Kirtan403 Активность видимая для пользователя on onResume() – Nisarg

+1

Это может вам помочь: http://stackoverflow.com/questions/6812003/difference-between-oncreate-and-onstart?rq=1 –

ответ

1

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

+0

Итак, это будет видно после onStart. Поэтому нет смысла пропускать контент в onStart. Только когда некоторые вещи нужно повторно инициализировать после прекращения активности и снова отобразить на экране. – kirtan403

+0

Да, но не ставьте ненужные тяжелые объекты в метод onStart(), вы должны поместить его в onCreate(), если это возможно, потому что метод onStart() может получить номера вызовов времени. –

+0

Да, получилось! благодаря ! – kirtan403

Смежные вопросы