Actualmente estoy desarrollando algunas aplicaciones de Android en un equipo y hemos utilizado 2 enfoques diferentes durante los últimos meses (uno que personalmente prefiero, y el otro que el otro desarrollador prefiere).Android: recomendaciones de AsyncTask: clase privada o clase pública?
Aunque hasta el momento los resultados son los mismos, esto me tiene preguntándome ... debemos:
- AsyncTasks uso como clases particulares dentro de las actividades que los utilizan.
- o uso AsyncTasks como clases públicas separadas que reciben el contexto de la actividad
son cualquiera de los approachs recomendados por Google?
¿Qué dice tu experiencia al respecto (ventajas, desventajas, problemas)?
Después de un tiempo utilizándolos como clases públicas separadas, veo que es mucho más útil. – neteinstein
@NeTeInStEiN - Para una AsyncTask, una clase interna (en comparación con una clase estática anidada) siempre es incorrecta por razones técnicas: una actividad puede ser eliminada (debido, digamos, a un cambio de configuración) sin detener AsyncTask. Si el AsyncTask fuera una clase interna, se filtraría la actividad anterior porque AsyncTask tendría una referencia (oculta) a la instancia de clase externa. Unos pocos cambios de orientación del teléfono provocarían la muerte del proceso por agotamiento de la memoria. –