Let us have some background information , if you are using some library is releate to network connection , database operation etc , you will need to run it on another thread instead of main thread .
Reference to Picasso :
public Builder executor(ExecutorService executorService)
we can see they have expose the executorService for us .
as here for android developer doc say that it is better to run the tasks on thread pool.
so , is it the best solution of us to avoid create so many threads?? i think it is great . i think is time to stop use all of the new Thread(new Runnable(){}).start();