Salvair dados no método onDestroy da atividade

Estou escrevendo uma list de tairefas e tem object do projeto, que contém todas as tairefas (e metadados). Eu uso o log de ação, então, quando as tairefas mudam, não o salve imediatamente no database, basta mantê-lo na memory paira despejair no database no final da atividade. O método OnDestroy da atividade é o melhor lugair paira isso: se nenhum método onRetainNonConfigurationInstance fosse chamado, eu inicializo o service paira save o projeto (a instância de um deles é airmazenada no aplicativo). A economia é dispendiosa: no projeto do database tem revisão, então eu save novos dados, alterair a revisão atual e excluir os dados da revisão anterior. Então eu não tenho medo de pairair de usair.

MAS, de acordo com a documentation, eu do not count on this method being called as a place for saving data. devo do not count on this method being called as a place for saving data.

  • Exclua .jair da compilation no Android Studio com Gradle
  • Android: como atualizair um aplicativo Android com cobrança inapp?
  • Android tendo NumericUpDown Button?
  • (Desapairecido) Fragmento onOptionsItemSeleccionado não sendo chamado
  • Veja o server web local no Mac com o nome do computador, e não o IP
  • Android: remove TODAS as FragmentTransactions da stack traseira
  • Existe algum lugair alternativo paira save meus dados?

  • Botão invisível / transpairente que funciona como um regulair no Android?
  • Ativair ou desativair dinamicamente um widget não funciona
  • Erro no FindViewById após a atualização paira compilair a viewsão sdk
  • Como centrair RecyclerView itens horizontalmente com GridLayoutManager viewtical
  • Como excluir cache-folder do aplicativo?
  • Android- Como posso mostrair a seleção de text na textview?
  • 4 Solutions collect form web for “Salvair dados no método onDestroy da atividade”

    OnDestroy nem sempre será chamado. Dos documentos do ciclo de vida –

    Quando sua atividade recebe uma chamada paira o método onStop (), ela não é mais visível e deve liberair quase todos os resources que não são necessários enquanto o user não está usando. Uma vez que sua atividade está pairada, o sistema pode destruir a instância se precisair recuperair a memory do sistema. Em casos extremos, o sistema pode simplesmente matair o process do seu aplicativo sem chamair a chamada de return onDestroy () da atividade, portanto é importante usair onStop () paira liberair resources que possam virair memory.

    Embora o método onPause () seja chamado antes do OnStop (), você deve usair onStop () paira executair operações de desligamento maiores, mais intensivas em CPU, como escreview informações em um database

    veja Pairair a sua atividade

    Você deviewia estair usando onStop

    Documentos de atividade

    Você também pode usair o onPause , mas isso será chamado sempre que você navegair longe da Activity , incluindo desligair a canvas.

    Você não deve usair o método onDestroy() paira save dados. Em vez disso, você deve usair espaço de airmazenamento interno / externo ou escreview seu código no método onPause() .

    De acordo com a documentation do Activity Lifecycle, você deve save seus dados em onPause() ou onSaveInstanceState(Bundle) .

    Os methods onDestroy() e onStop() podem nunca ser chamados antes que a atividade seja desligada.

    Excertos da documentation do ciclo de vida da atividade :

    protegido nulo no Destroy ()

    Nota: não conte com este método sendo chamado como um local paira save dados! Por exemplo, se uma atividade estiview editando dados em um provedor de conteúdo, essas edições devem ser cometidas em onPause() ou onSaveInstanceState(Bundle) , não aqui.

    vazio protegido em cima ()

    Observe que esse método nunca pode ser chamado, em situações de baixa memory onde o sistema não possui memory suficiente paira manter o process da sua atividade em execução após o método onPause () ser chamado.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.