escenarios de aplicación práctica IntentService

    IntentService en comparación con el padre de servicio, la característica más grande es su función de devolución de llamada onHandleIntent puede llevar mucho tiempo la operación directamente, sin tener que volver a abrir hilo. El principio es variable miembro IntentService se inicializa cuando Handler ya pertenece a la subproceso de trabajo, después de handleMessage, incluyendo onHandleIntent otras funciones se ejecutan en el subproceso de trabajo.

    Si sabes de IntentService de limitación, será una especie IntentService punto de vista muy triste, porque el servicio de operación que consume tiempo en las discusiones abiertas sin ningún problema. También tuve este punto de vista, que rara vez se utiliza IntentService.

    Pero IntentService hay una característica que se llama varias veces la función onHandleIntent (es decir, hay más tareas que requieren mucho tiempo para ser realizadas), más tareas que consumen mucho tiempo se llevan a cabo en el orden. El principio está asociado con su garfio Handler, Handler incorporado en la cola de tareas lleva a cabo mediante la adopción de las tareas se ejecutan secuencialmente.

    Esta característica va a resolver el problema más tareas que consumen mucho tiempo requeridos en el orden de ejecución. Si sólo el servicio, abra múltiples hilos para realizar la operación que consume tiempo, es difícil de manejar.

    Por ejemplo, al hacer antes de la aplicación, existe una demanda de un determinado período de tiempo se guarda la imagen descarga el usuario visualiza imageView después de la descarga se ha completado, la necesidad general para descargar la foto hay muchos, cada uno de la siguiente imagen es un hilo, inmediatamente después de la descarga de pantalla a cabo, por lo que definitivamente quiere descargar se descarga de acuerdo con la orden, por lo que la experiencia de usuario es mejor. El enfoque era defectuoso, abrir directamente los múltiples hilos para descargar, la descarga se ha completado antes de que una imagen en frente, otros hilos debe esperar; aunque esta función también se puede lograr, pero no de alta eficiencia, incluso ANR (la lógica de código específico es posible Si el hilo se pone detrás de la CPU, pero no delante de la imagen está terminado, espera, no antes de asumir que un cuadro está terminado, mientras que la parte posterior de la rosca se ha obtenido de la CPU, hay un problema).

    Si este escenario es muy fácil de usar IntentService, cada uno tareas que consumen se realizan secuencialmente en el orden, no tiene que preocuparse de la lógica o de rendimiento se produce, es IntentService de valor.


Resumen: Android Muchas clases están diseñadas para ciertos escenarios comunes, como por ejemplo en este artículo IntentService y handlerThread y otra por escrito antes de la clase, por lo general se acumulan con el fin de resolver más tarde cuando se encuentran algunos problemas difíciles.

Publicado 11 artículos originales · ganado elogios 2 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/zhengyin_tmac/article/details/52446696
Recomendado
Clasificación