• Выполнение длительной операции в обработчике кнопки на Android?

    @babay88
    либо использовать AsyncTask — что достаточно удобно.
    либо можно запустить свой тред — и в нем выполнить.

    что-то примерно такое:
    public class WorkerThread {
    private static WorkerThread instance;
    HandlerThread thread;
    Looper looper;
    Handler handler;

    public WorkerThread() {
    thread = new HandlerThread(«worker for gdx»);
    thread.start();
    looper = thread.getLooper();
    handler = new Handler(looper);
    }

    public static WorkerThread getInstance(){
    if (instance == null)
    instance = new WorkerThread();
    return instance;
    }

    public void post(Runnable r){
    handler.post®;
    }

    public void postDelayed(Runnable r, long delayMillis){
    handler.postDelayed(r, delayMillis);
    }

    public void dispose(){
    thread.quit();
    instance = null;
    }
    }

    в этом случае — в тред можно добавлять несколько задач — они будут выполняться одна за одной.
    но если потом надо будет что-то выполнить в UI-треде (например, всё взаимодействие с UI должно происходить в UI-треде — иначе ексепшены) — то надо использовать метод Activity: runOnUiThread(Runnable r)
    либо View: post(Runnable r)