Acticity Android reiniciar após a reinicialização e vida muda de ciclo

Primeiro postou o código reinício diretamente chon:

Intent intentReStrat = getIntent();
finish();
startActivity(intentReStrat);

É esse código simples é, na verdade, três linhas, mas quando nós realmente uso vai achar que há algo de errado, do que se eu fiz no onDestory tais como o ciclo de vida do tempo, assim que olhamos para cada Ciclo de Vida Log marcada

LogUtil.chunyLog().d("onCreat"+ this);

Atividade em cada um o ciclo de vida tem esse log (mais por trás disso é olhar para diferentes atividades, restart, porque há um novo processo de duas etapas para gerar um novo e destruição)

OK, o resto é para obter um evento de clique de botão no início do código de reset para escrever

Adicione um pouco para ser executado. . .

Em primeiro lugar, haverá o seguinte:

Primeiro, você pode ver estes vão onCreat onStart onResume Escusado será dizer que nós vemos por trás Houm

@ 1ecbcf6f Esta é exclusivo para esta Atividade

 

Em seguida, clique no botão, reinicie Acticity:

Então devemos olhar seriamente, e nós colocamos na frente para a conveniência de Atividade (@ 1ecbcf6f) eu disse a Aty1  

Mais tarde, o novo @ 2005b14f Dang, como novo Aty2 como entender

OK, o que aconteceu depois de recuperação

Quando clica no botão, Aty1 go onPause suspensa primeiro

Então Aty2 gone onCreat onStart onResume três criado com sucesso

Além disso Aty1 ido para baixo onStop onDestory foi morto

Quando você pode ver a nova criação foi sobre Aty Aty de um onStop e onDestory que estaremos aqui

 

Problema, cada situação é diferente, porque eu era um serviço de ligação,

Em onDestory que chama dentro de um Serviço de restaurar o método padrão, isso irá causar um problema quando eu reiniciar Aty após a chamada estiver em uma Aty de onDestory restaurar o padrão não vêm em fazer depois de realizar uma reinicialização se tornará Aty coisa, então não

 

solução:

solução de todos não é o mesmo, eu estava com o SP, clique no botão a tempo de salvar SP dentro variável booleana (o chamado ASD) salvo como verdadeira

Depois, há a chamada de método de serviço onDestory fora asd, se é verdade não chamar o método de serviço, ea atribuição falsa asd

Em seguida, execute as saídas método mais dentro, para que possamos simular o que

 

Aty vir a tempo de saída ASD é falso (padrão) para que vá para outros chamar a saída Serviço de método de recuperação de saída, se for um clique de um botão, é o primeiro

asd salvo como verdadeira, então não haveria nenhum método de restauração de serviço curta, esta é a minha solução, se existe um melhor, me diga qual é o problema revisão do progresso em conjunto.

 

Publicado 124 artigos originais · Louvor obteve 141 · vista 160 000 +

Acho que você gosta

Origin blog.csdn.net/weixin_36838630/article/details/83622926
Recomendado
Clasificación