Android Asynctask vs Runnable vs timertask vs Servicio

¿Cuáles son las diferencias entre estos métodos (clases)?

Quiero ejecutar una aplicación que se ejecuta cada 5 segundos, borrar la memoria cuando se ha terminado y cuando la CPU está en modo de espera, que puede ejecutar la aplicación. Para que la aplicación no está vinculada a un wakelock.

Saludos,

Shafqat

La diferencia entre los tres primeros es sólo la cantidad de trabajo que se ha hecho para usted. Y un servicio es un componente fundamental de la aplicación de Android .

AsyncTask como una clase de conveniencia para hacer algo de trabajo en un nuevo hilo y utilizar los resultados en el hilo desde el que se llamó (normalmente el hilo de interfaz de usuario) al finalizar. Es sólo un envoltorio que utiliza un par de runnables, pero maneja todas las complejidades de la creación del hilo y el manejo de mensajes entre los hilos.

La interfaz Runnable está en el núcleo de Java threading. La interfaz Runnable debe ser implementada por cualquier clase cuyas instancias estén destinadas a ser ejecutadas por un subproceso.

TimerTask es parte de Java estándar y puede utilizarse para ejecución retrasada o repetida para algún código (Runnable). Su uso se desaconseja en Android . Puede utilizar un controlador en su lugar.

Un servicio se puede utilizar como una parte independiente y sin IU de su aplicación de Android. Se puede ejecutar y crear sus propios hilos y se puede iniciar para la interfaz de usuario o con Intents a través de un AlarmManager, por ejemplo.

Piensa que quieres que quieras es un servicio que crea su propio hilo y hace algo de trabajo. Cuando se termina el trabajo, la memoria se liberará en Android cuando el recolector de basura se ponga en marcha, algo que no controlas y eso es algo bueno.

AlarmManager le permite difundir Intents a intervalos especificados e incluso permitir que el control despierte el dispositivo o no. Sólo tienes que definir un BroadcastReceiver en tu Servicio y declararlo en tu manifiesto.

La última parte de su pregunta que realmente no entiendo, por favor aclare un poco más sobre lo que intenta lograr.

  • Async tarea no funciona correctamente (doInBackground no se ejecuta) cuando el servicio se ejecuta en segundo plano, Android
  • ¿Sigue funcionando un servicio incluso cuando el teléfono está dormido?
  • Android Speech Reconocimiento de voz: Llamada repetida de SpeechRecognizer.startListening () falla en JB 4.1.2
  • El servicio no se detendrá cuando el método stopService se llame
  • ¿Debo usar PendingIntent.getService () o getBroadcast con AlarmManager?
  • No se puede comprobar si AlarmManager ha configurado la alarma
  • "Service MeasurementBrokerService está en uso" está mostrando en mi proceso de solicitud
  • Android.os.NetworkOnMainThreadException en el inicio del servicio en android
  • GetApplicationContext () devuelve null en un servicio
  • Android - Obtención de contexto de un receptor de difusión onReceive () para enviar a
  • Atrapar en el golpe para despedir el evento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.