Я использую AsyncTask
и задаюсь вопросом, каковы последствия передачи аргументов конструктору вместо передачи их непосредственно при вызове execute()
к методу doInBackground(...)
, например:
Вызов:
new SomeTask(bitmap, integer, "somestring").execute();
Класс:
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
}
}
Каковы преимущества/недостатки в отношении дизайна, элегантности, повторного использования и производительности?
Спасибо.