Например: вы собираетесь делать что-то, что займет несколько секунд, и вы не хотите заморозить свой UI, верно? Вы можете использовать AsyncTask, но вы не хотите создавать внешний (или внутренний) класс для решения небольшой проблемы с замораживанием.
Итак, это хорошая оценка?
package com.example.stackoverflowsandbox;
import android.os.AsyncTask;
public class Foo {
// E.g. before call foo method you change you Activity to loading state.
private void foo() {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground( final Void ... params ) {
// something you know that will take a few seconds
return null;
}
@Override
protected void onPostExecute( final Void result ) {
// continue what you are doing...
Foo.this.continueSomething();
}
}.execute();
}
private void continueSomething() {
// some code...
}
}
Я столкнулся с этим, когда сжимаю битмапы и зацикливая большой массив, чтобы обновлять некоторые данные внутри элементов.