si yo no uso un HandlerThread (pasa su Looper a Handler), quiere decir que en este caso Handler utilizar TrenzadoPrincipal (IU Tema) 's Looper?
Tener un vistazo a la documentación de Handler
Handler()
constructor por defecto asociados con este controlador de la Looper para el subproceso actual.
Si su tema actual es MainThread, utiliza MainThread (UI Thread) Looper.
Para asociar explícitamente el Controlador a su MainThread (Subproceso UI), escriba el código siguiente.
Handler mHandler = new Handler(Looper.getMainLooper();
Si escribir es como abajo, se utiliza HandlerThread Looper.
HandlerThread handlerThread = new HandlerThread("HandlerThread");
handlerThread.start();
Handler requestHandler = new Handler(handlerThread.getLooper());
Si tiene cualquier operación IO en la red Runnable
tarea, no se puede usar hilo de la lanzadera principal. En ese caso, HandlerThread
es útil para publicar la tarea Runnable
realizando la operación de Red IO.
puede encontrar ejemplo de código @How do I fix android.os.NetworkOnMainThreadException?
Qué resultado se obtiene si Handler utiliza Looper de TrenzadoPrincipal? ¿Puede causar mainThread bloqueado?
Si envía muchos eventos a MainThread Looper, se ejecutarán en MainThread (UI Thread). Si las tareas enviadas requieren más tiempo para la ejecución, MainThread se bloqueará.
Comprobar continuación posterior de detalles internos de Looper:
What is the purpose of Looper and how to use it?
Se trata de los documentos oficiales. 'Clase útil para comenzar un nuevo hilo que tiene un looper. El looper se puede usar para crear clases de controlador. Tenga en cuenta que start() todavía debe ser llamado. 'Ahorré tu tiempo. – UnKnown