Тогда как завершить действие, которое вызывается StartAvtivityforResults () без завершения?
Ayush Pateria
@CommonsWare Как обеспечить постоянный вызов onStop? В моем приложении OnStop и onDestroy в некоторых случаях не вызываются, и в этих случаях дочерняя активность занимает слишком много времени для завершения, и это выглядит так, как будто приложение зависло ... Тогда как при вызове onStop все работает нормально. Я использую Galaxy y с Android 2.3.6 ... см. Мой вопрос на stackoverflow.com/questions/13928591/…, пожалуйста, помогите !!!
Амит
@CommonsWare Я проверил, сэр, очень верно. +1 для вас Но я хочу задать один вопрос. Я написал finish () в качестве первого оператора в моей функции, тогда он выполняет всю функцию, а затем вызывается finish () Как это удалось.
Nikhil Agrawal
@NikhilAgrawal, вы можете вернуть функцию сразу после вызова finish ().
antonio081014
Вызывает ли finish () также onPause () и onStop () перед вызовом onDestroy ()?
sr09
20
Каждое событие жизненного цикла , как onCreate, onResume, onPause.... onDestroyиз деятельности всегда вызываются в одном потоке - «главная нить».
Короче говоря, этот поток поддерживается Очередью, в которую отправляются все события активности. Этот поток может выполнять все эти события в порядке вставки.
Если вы вызываете finish()один из обратных вызовов жизненного цикла, например onCreate()... сообщение «завершения» будет добавлено в эту очередь, но поток не может выбрать и выполнить действие «завершения» до тех пор, пока выполняемый в данный момент метод не вернется, т.е. поток не будет освобожден от текущая задача.
ondestroy() это последний звонок, который вы получите перед тем, как ваша деятельность будет уничтожена.
Это может произойти либо из-за того, что действие завершается (кто-то вызвал finish() его, либо из-за того, что система временно уничтожает этот экземпляр действия для экономии места. Вы можете различить эти два сценария с помощью isFinishing() метода).
Если есть два действия A и B. И ваш поток идет от A> B; и B = A звонит finish().
Затем,
Метод, из которого вы вызывались, finish()будет выполняться, как упомянул Марк. И поток обратных вызовов будет следующим -
onPause() из activity A
onRestart()> onStart()> onResume()АКТИВНОСТИ В
Затем наступает настоящая разница. Если вы не звонили finish()из activity A; здесь будет называться только onStop()из Activity A. Хотя, в данном случае, когда мы назвали finish()из Activity A; Так onStop()и onDestroy()будут востребованы оба activity A.
Ответы:
Вызванный метод
finish()
будет выполнен до конца.finish()
Операция не будет даже начинать , пока не возвращает управление Android.источник
Каждое событие жизненного цикла , как
onCreate
,onResume
,onPause
....onDestroy
из деятельности всегда вызываются в одном потоке - «главная нить».Короче говоря, этот поток поддерживается Очередью, в которую отправляются все события активности. Этот поток может выполнять все эти события в порядке вставки.
Если вы вызываете
finish()
один из обратных вызовов жизненного цикла, напримерonCreate()
... сообщение «завершения» будет добавлено в эту очередь, но поток не может выбрать и выполнить действие «завершения» до тех пор, пока выполняемый в данный момент метод не вернется, т.е. поток не будет освобожден от текущая задача.источник
ondestroy()
это последний звонок, который вы получите перед тем, как ваша деятельность будет уничтожена.Это может произойти либо из-за того, что действие завершается (кто-то вызвал
finish()
его, либо из-за того, что система временно уничтожает этот экземпляр действия для экономии места. Вы можете различить эти два сценария с помощьюisFinishing()
метода).источник
Если есть два действия A и B. И ваш поток идет от A> B; и B = A звонит
finish()
.Затем,
Метод, из которого вы вызывались,
finish()
будет выполняться, как упомянул Марк. И поток обратных вызовов будет следующим -onPause()
изactivity A
onRestart()
>onStart()
>onResume()
АКТИВНОСТИ Вfinish()
изactivity A
; здесь будет называться толькоonStop()
изActivity A
. Хотя, в данном случае, когда мы назвалиfinish()
изActivity A
; ТакonStop()
иonDestroy()
будут востребованы обаactivity A
.источник