Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 15/01/16, 11:07:08
Array

[xs_avatar]
elamas elamas no está en línea
Usuario poco activo
 
Fecha de registro: dic 2015
Mensajes: 12
Tu operador: Movistar

¿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


  #2  
Viejo 15/01/16, 13:14:16
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
No tiene sentido porque son asíncronos, y por tanto no puedes saber donde establecerlos a null o limpiarlos. Para una cosa buena que tiene Java que es su recolector de basura déjalo que trabaje.
Responder Con Cita
  #3  
Viejo 15/01/16, 22:19:59
Array

[xs_avatar]
elamas elamas no está en línea
Usuario poco activo
 
Fecha de registro: dic 2015
Mensajes: 12
Tu operador: Movistar

Genial, una preocupación menos.

Gracias kriogeN
Responder Con Cita
  #4  
Viejo 16/01/16, 14:43:01
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
Marcamos como Solucionado
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 23:32:30 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /