7 votos

¿Cuáles son las ventajas de las aplicaciones de Android están de un solo subproceso?

He leído una declaración en http://developer.android.com que dijo:

Cuando se inicia una aplicación, el sistema crea un hilo de ejecución para la aplicación, denominada "principal". Este hilo es muy importante porque es la encargada de despacho de eventos para el adecuado interfaz de usuario de widgets, incluyendo la elaboración de eventos. También es el hilo en el que la aplicación interactúa con los componentes de la interfaz de usuario Android kit de herramientas. El sistema no crea un subproceso independiente para cada instancia de un componente. Todos los componentes que se ejecutan en el mismo proceso se ejecuta en el subproceso de interfaz de usuario, y el sistema de llamadas para cada componente son enviados desde ese hilo.

Yo sólo quería saber por qué Android se ha optado por este subproceso único modelo de la arquitectura y no se ha ido para multi-threaded. ¿Cuáles son las ventajas de que son para salir de esta?

20voto

Andy Brudtkuhl Puntos 1714

Las aplicaciones de Android no son de un único subproceso. Aunque hay un hilo principal como se describe en la documentación que se cita, las aplicaciones, se puede iniciar como muchos otros hilos, ya que necesitan.

La ventaja de toda la interfaz gráfica de interacciones estar en un subproceso es que la interfaz gráfica de usuario código puede ser más simple, más rápido, y más predecible, porque el estado de la GUI no se ha cambiado al mismo tiempo desde diferentes hilos. También hace que la seguridad de subprocesos más fácil para los desarrolladores de aplicaciones proporcionando una cola de mensajes, similares a los encontrados en otros sistemas operativos' GUI. La app autor sólo necesita para asegurarse de que todo tiempo de las operaciones se realizan en subprocesos en segundo plano, el envío de mensajes al hilo principal para la actualización de la interfaz gráfica de usuario, y de esa manera la interfaz gráfica de usuario se mantiene atento todo el tiempo.

1voto

Wes Eklund Puntos 11

El Android de google docs están diciendo que el hilo principal debe calcular toda la interfaz de usuario relacionados con las funciones. Es el trabajo de los desarrolladores para crear subprocesos adicionales cuando la obtención de datos de locales de base de datos SQLite o de la red, o incluso si usted está creando un compute pesado Vista personalizada con un montón de lógica de presentación.

Una mirada exhaustiva a la Concurrencia en Android y mutli-threading, echa un vistazo

Asincrónica Android de Steve Liles

Impresionante libro impresionante.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X