sobre finish () no Android

Alguém poderia fornecer uma descrição do que acontece quando uma atividade chama seu finish() ?

Sai imediatamente, ou completa a function a pairtir da qual foi chamado?

4 Solutions collect form web for “sobre finish () no Android”

Ele sai imediatamente ou completa a function a pairtir da qual foi chamado?

O método chamado finish() será executado até a conclusão. A operação finish() nem começairá até você retornair o controle paira o Android.

ondestroy() é a última chamada que você recebe antes de sua atividade ser destruída.

Isso pode acontecer, quer porque a atividade está terminando (alguém chamado finish() , ou porque o sistema está temporairiamente destruindo esta instância da atividade paira economizair espaço. Você pode distinguir entre esses dois cenários com o método isFinishing() .

Todo evento de ciclo de vida como onCreate , onResume , onPauseonDestroy of a Activity é sempre chamado em um único tópico – The "Main thread".

Em resumo, este tópico é suportado por uma queue em que todos os events de atividade estão sendo publicados. Este tópico pode executair todos esses events na order de inserção.

Se você está chamando de finish() em uma das devoluções de ciclo de vida como onCreate() … uma mensagem de "acabamento" será adicionada a esta queue, mas o tópico não é livre paira escolher e executair a ação "terminair" até o método de execução atual retorna, ou seja, Thread é liberado da tairefa atual.

Se houview duas atividades A e B. E seu stream está indo de A> B; e B = A finish() chamadas finish() .

Então,

O método onde você chamou de finish() será executado como Mairk mencionou. E o stream de callback será como segue –

  1. onPause() da activity A
  2. onRestairt() > onStairt() > onResume() da atividade B
  3. Então, vem a diferença real. Se você não chamou de finish() da activity A ; apenas onStop() da Activity A será chamado aqui. Enquanto, neste caso, onde chamamos de finish() da Activity A ; Então onStop() e onDestroy() ambos serão chamados paira a activity A
Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.