Pregunta

Busco la clase más adecuada para ser un despachador para AsyncTasks invocadas desde mis actividades.

Creo que podría ser uno de los siguientes:

  1. subclase de Application ;
  2. subclase de Servicio ;
  3. mi cosas estática.

En cuanto a mí - es simlier para implementar la tercera opción. Pero la pregunta es ¿será más "resistente muerte" de servicio o una aplicación? También es muy interesante lo que va a vivir más tiempo - aplicación o servicio? Mi conjetura es la vida de la aplicación, siempre y cuando la aplicación (tarea en términos de Android) vidas de proceso.

Así que, básicamente necesito variar esas opciones por su calidad "muerte-resistente", porque me gustaría que depender de lo más "estático".

ACTUALIZACIÓN:

Originalmente, la pregunta fue hecha en 2010 , cuando (1) Android era nueva plataforma para los desarrolladores y (2) la documentación de Google era demasiado vaga (en algunos casos incluso se induce a error) sobre los componentes de aplicación de la vida -cycles y todo el ciclo de vida del proceso de aplicación.

¿Fue útil?

Solución

definitivamente debe utilizar un servicio .

La razón principal detrás de esto - Service tiene su propio ciclo de vida documentada , mientras que la aplicación no lo hace. Application ejemplo, como cualquiera de sus variables estáticas, se pueden matar por sistema casi en cualquier momento, usted no recibirá ninguna devolución de llamada y no puede detener este proceso. Por lo tanto, se perderán los datos no guardados (todas las variables estáticas).

Por otro lado, Service no puede ser matado por el sistema de silencio, en el método de los mínimos onDestroy() se debe llamar primero. Tener tales devolución de llamada, puede guardar su estado en cierta memoria persistente (como SharedPreferences, archivos, bases de datos, etc.) y restaurar ese estado próxima vez que su aplicación o inicio del servicio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top