¿Actividad sin finalizar?

¿Hay alguna razón por la cual una actividad puede no ser finalizada (es decir, tiene su finalize () llamado) y por lo tanto la basura recogida, a pesar de que su onDestroy () se llama? ¿Es esto sólo su pérdida de memoria promedio todos los días?

onDestroy no significa que el objeto de actividad se ha eliminado, sino que significa que la actividad en sí (como un concepto de Android) fue destruida. Esto no tiene nada que ver con el objeto Actividad real. Internamente, el sistema operativo puede decidir reciclarlo, especialmente cuando se recrea inmediatamente debido a un cambio de configuración (como la orientación que cambia de retrato a paisaje).

Incluso si se recolectó basura (lo cual podría suceder mucho más tarde después de destruir, en un punto de la carretera cuando el sistema realmente tuvo que hacer una recolección de basura porque necesitaba memoria), no hay garantía de que se llame. Incluso en la documentación:

 "Note that the VM does guarantee that finalize() is called at most once for any object, but it doesn't guarantee when (if at all) finalize() will be called.". 

En general, nunca debe utilizar finalize menos que realmente tenga que hacerlo. No es tan predecible como un destructor en C ++. Si necesita realizar limpieza en su actividad, hágalo en onPause o onDestroy o en cualquiera de los otros ganchos.

  • ACTION_SENDTO no funciona
  • Ocultar android.support.v7.widget.Toolbar mediante programación
  • Actividad y Fragmento Ciclos de Vida y Cambios de Orientación
  • ¿Cómo seleccionar y copiar texto en una vista que no está asociada a una actividad?
  • ¿Qué sucede cuando una actividad de Android inicia otra actividad
  • Obtener el valor de tema aplicado para una actividad mediante programación
  • Actualizar la interfaz de usuario de la actividad cuando no esté visible
  • ¿Por qué android.app.Activity no es abstracto por diseño?
  • Cómo abrir una nueva pantalla en Android?
  • Configuración de HAXM en el android studio
  • ¿Es posible utilizar un MapView sin tener que extender MapActivity?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.