Alternatives to Threading in Android development?

Explore alternative methods to threading in Android development, which enhance performance and responsiveness in applications.
Android development, threading alternatives, ExecutorService, Coroutines, AsyncTask

    // Example of using ExecutorService for background tasks in Android

    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;

    public class MyActivity extends AppCompatActivity {
        private ExecutorService executorService;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);

            // Initialize the ExecutorService with a fixed thread pool
            executorService = Executors.newFixedThreadPool(4);
        }

        private void performBackgroundTask() {
            executorService.submit(() -> {
                // Your background code here
                // For example, fetching data from an API or database

                runOnUiThread(() -> {
                    // Update UI here after background processing
                });
            });
        }

        @Override
        protected void onDestroy() {
            super.onDestroy();
            // Shutdown the ExecutorService to free resources
            executorService.shutdown();
        }
    }
    

Android development threading alternatives ExecutorService Coroutines AsyncTask