Вы можете сделать это, как в любой другой среде или среде. Android api предлагает вам множество высокоуровневых способов обработки многопоточных приложений, таких как вы описали (AsyncTask, Handler / Thread / Runnable и т. Д.), Но вы также можете поместить их в свою очередь обработки. Я сделал это недавно, когда создал логическую очередь для обработки, и когда я что-то помещаю в очередь, я запускаю метод, который проверяет мою очередь на предмет элементов и обрабатывает их в фоновом потоке. Вы можете уведомить систему о завершении обработки, отправив широковещательные намерения и зарегистрировав IntentFilters на уровне Activity (не забудьте отменить регистрацию), или вы можете реализовать свои собственные интерфейсы прослушивателя, как это происходит в структуре пользовательского интерфейса Android с событиями UI в Views
В основе этого, как бы вы ни заключали его, AsyncTask позволяет действительно легко переключаться между фоновыми потоками и основным потоком пользовательского интерфейса. onPreExecute, onProgressUpdated и onPostExecute все выполняются в потоке пользовательского интерфейса, а doInBackground запускается в фоновом потоке, который автоматически создается для вас. Не становится легче, чем это