estoy usando AsyncTask
y preguntándose cuáles son las implicaciones de pasar los argumentos al constructor en lugar de pasarlos directamente en la llamada execute()
al método doInBackground(...)
, por ejemplo:¿Cuáles son las ventajas/desventajas al pasar argumentos al constructor AsyncTask?
Llamar:
new SomeTask(bitmap, integer, "somestring").execute();
Clase :
public class SomeTask extends AsyncTask<Void, Void, String> {
private String string;
private Bitmap image;
private int integer;
public SomeTask (Bitmap bmp, int someint, String s){
this.image = bmp;
this.string = s;
this.integer = someint;
}
protected String doInBackground(Void... params) {
// whatever
return "string";
}
@Override
protected void onPostExecute(String result){
// whatever
}
}
Lo Cuáles son las ventajas/desventajas con respecto al diseño, la elegancia, la reutilización y el rendimiento?
Gracias.
La regla de oro simple es: "Cuanto más el número de args, más código es reutilizable" – ingsaurabh