Я пытаюсь найти простой способ поставить задачи в очередь в потоке, который НЕ является потоком пользовательского интерфейса.
У меня есть BroadcastReceiver, который отвечает на Intents каждый раз, когда снимается изображение, и уведомляет мою Службу каждый раз, когда это происходит. Службе придется выполнить некоторую обработку (масштабирование и поворот изображения), и я хотел бы сделать это в новом потоке (служба работает в том же потоке, что и моя основная активность). Так что я искал AsyncTask для этого.
Моя проблема заключается в том, что если следующее изображение будет получено ДО того, как предыдущее будет полностью обработано, у меня будут одновременно запущены две AsyncTasks, и я этого не хочу. Я хотел бы поставить в очередь обработку следующего, пока первый не будет сделан.
Так что в основном я хочу две темы. Один из них - стандартный UI-поток, а другой - мой рабочий поток, в котором у меня может быть очередь задач для выполнения.
Какой будет лучший подход?