Ver Mensaje Individual
  #1  
Viejo 15/01/16, 11:07:08
Avatar de elamas
elamas elamas no está en línea
Usuario poco activo
Mensajes: 12
 
Fecha de registro: dic 2015
Mensajes: 12
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
¿No hay que limpiar ni reutilizar los runnables?

Hola,
veo en casi todos los ejemplos, como por ejemplo en esta página
http://developer.android.com/intl/es...#WorkerThreads
que se hacen cosas como ésta:
Código:
public void onClick(View v) {
    new Thread(new Runnable() {
        public void run() {
            Bitmap b = loadImageFromNetwork("http://example.com/image.png");
            mImageView.setImageBitmap(b);
        }
    }).start();
}
Mi pregunta es ¿si se da mil veces al botón se crean mill runables? ¿No hay que preocuparse y tratar de crear uno único y que se reutilice? ¿No hace falta tampoco ponerlo a null cuando se termine la ejecución?

Lo mismo veo con los AsyncTask. Por ejemplo en la misma página de antes
http://developer.android.com/intl/es...d-threads.html
hacen esto
Código:
public void onClick(View v) {
    new DownloadImageTask().execute("http://example.com/image.png");
}
En este caso comprobé que los AsyncTask no son reutilizables, cuando traté de hacerlo me dió este error.
Código:
Caused by: java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once)
Un saludo
Responder Con Cita