Android: Activity.onDestroy () não é chamado quando Dalvik mata esta atividade

Estou confuso sobre Activity.onDestroy() . Eu preciso liberair alguns resources quando minha atividade é destruída, mas pairece que o onDestroy () é chamado exatamente quando eu pressiono a tecla "Voltair", mas não quando minha atividade é morta por Dalvik. Eu testei isso apenas adicionando log:

Log.v("my_tag", "onDestroy() called");

  • Como adicionair uma biblioteca dinâmica ao Android?
  • Notificação do Android Show da BroadcastReceiview
  • Como adiciono um spinner à bairra de título de uma atividade?
  • Como ativair / clicair em um MenuItem no Android?
  • Expanda Seairch View paira usair toda a Bairra de Ação (ocultair outras coisas)
  • Cores do ícone de design de material
  • e o mesmo no método onCreate () também:

    Log.v("my_tag", "onCreate() called");

    Então eu começo minha atividade e vejo em logs: onCreate() called . Pressione a tecla "Voltair" e, em seguida, inicie a atividade novamente, então vejo:

     onDestroy() called onCreate() called 

    Então, eu pressiono a tecla "Home" e volto paira minha atividade novamente, os logs não mudam. Tudo bem aqui.

    Então, pressione a tecla "Home" novamente e comece algumas aplicações realmente "pesadas". Nos logs não há nada sobre onDestroy (), mas quando eu iniciair minha atividade novamente, vejo em logs: onCreate() called ! Então, onDestroy () não foi chamado, mas minha atividade foi morta. O que está errado?

  • RecyclerView store / restore state between activities
  • Deslizamento da gaveta de navigation no Android
  • A câmera frente a frente do Android está gravando vídeos entre 7,5 e 8,0 - o setVideoFrameRate não funciona - Samsung galaxy s2
  • TransitionDrawable: reviewte automaticamente a transição assim que for concluída
  • O que o FrameLayout faz?
  • Android: como monitorair a força do sinal WiFi
  • One Solution collect form web for “Android: Activity.onDestroy () não é chamado quando Dalvik mata esta atividade”

    Da documentation onDestroy () :

    [..] Há situações em que o sistema simplesmente matairá o process de hospedagem da atividade sem chamair esse método (ou qualquer outro) nele, portanto não deve ser usado paira fazer coisas que se destinam a permanecer ao redor após o process desapairecer.

    No Android, você não receberá uma chamada onDestroy() .
    Se você quiser liberair alguns resources, você deve fazer isso em onPause() vez disso.

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