Android – Ejecutar en segundo plano – Service vs. standard java class

En Android, si quiero hacer algún trabajo de fondo, ¿cuál es la diferencia entre

Creando un Servicio para hacer el trabajo, y con la Actividad iniciar el Servicio VS. Crear una clase java estándar para hacer el trabajo, y tener la Actividad crear un objeto de la clase y invocar métodos, para hacer el trabajo en hilos separados.

Hacer sus propios hilos es excesivo, hay soluciones para esto, por lo que no tiene que preocuparse por las partes difíciles de la concurrencia. Echa un vistazo a AsyncTask o IntentService . Si usted va para un servicio por favor tenga en cuenta que su servicio se puede matar en cualquier momento.

Bueno, Android ofrece algunos métodos útiles para hacer hilos de trabajo fácilmente. Mire la definición de la clase Looper . Le permite enviar eventos a través de un Handler para ser ejecutados uno tras otro en otro hilo o transmitir mensajes entre hilos diferentes.

Un servicio no es nada lujoso. Crear un servicio es sólo una forma de decirle al sistema operativo que necesita hacer algún trabajo incluso cuando su actividad no está visible.

Dependiendo de la aplicación que esté construyendo, puede que no sea una opción.

Casi todas las aplicaciones de red tendrán parte de su funcionalidad en un Servicio para permitir al usuario cambiar la Actividad activa mientras se está descargando algo.

En un lector de RSS, por ejemplo, puede hacer clic en "Actualizar todo" y, dependiendo de la conexión de datos actual, puede tardar un poco más de lo que desea. Así que si quieres que el usuario pueda volver a la pantalla de inicio y hacer cualquier otra cosa mientras los archivos se están descargando tendrás que usar un servicio.

Un servicio le permite ejecutar tareas en segundo plano mientras el usuario no está en su actividad. Esto no significa que estará funcionando todo el tiempo. Compruebe el ciclo de vida del servicio .

BTW IntentService es un servicio.

  • Android startService () tarda mucho tiempo en volver al subproceso de interfaz de usuario
  • El servicio de Android solo se inicia en modo de depuración
  • Detectar el evento "botón de inicio presionado" en el servicio android que muestra una interfaz de usuario (similar a los cabezales de chat de Facebook)
  • En Android: ¿Cómo llamar a la función de la actividad de un servicio?
  • Error interno al utilizar Descubrimiento de servicio de red en Android
  • El mejor enfoque para ejecutar el servicio en Android
  • Servicio de asignar un montón de memoria?
  • Diferencia entre los receptores de servicio y difusión en android
  • Cómo saber si el usuario está en la pantalla de bloqueo desde el servicio
  • Uso de Alarmmanager para iniciar un servicio en un momento específico
  • Descubrimiento del servicio de red error de tutorial android: Servicio perdido, el teléfono se desactiva
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.