Con la disponibilidad de teléfonos Android con múltiples núcleos, ¿cómo pueden los desarrolladores de aplicaciones asegurarse de que su aplicación haga uso de la potencia de procesamiento adicional de esos núcleos? Por lo que entiendo, lo único que los desarrolladores de aplicaciones pueden hacer es hacer que su aplicación tenga varios subprocesos y dejar que el kernel de Android se encargue de delegar las tareas en diferentes núcleos.Cómo optimizar las aplicaciones de Android para múltiples núcleos
Me gustaría saber si hay algo más que se pueda hacer para optimizar para varios núcleos. Además, ¿cuáles son las mejores prácticas de multi-threading en Android.
Mi mejor consejo con multihilo: * No * .. * * excepto donde encaja paralelización el problema es bueno * y * hay un beneficio mensurable. Es difícil corregirlo, y muchas cosas (como la IU) pueden intrínsecamente * no * enhebrarse de forma segura. (Para las tareas de IU que requieren procesamiento en segundo plano, generalmente es más sencillo usar "trabajadores en segundo plano", incluido [AsyncTask] (http://developer.android.com/reference/android/os/AsyncTask.html), en lugar de hilos directamente). –
Estoy respetuosamente en desacuerdo, teniendo en cuenta que la API de Android ha recorrido un largo camino para ayudar a aliviar el infierno de rastreo de 'Contexto', que' sincronizado' es nuestro amigo, y, finalmente, que el paradigma llegó para quedarse. Incluso las aplicaciones simples tienen (generalmente) cosas separadas para inicializar/cargar/... antes de mostrar información, así que debemos hacer lo que podamos para terminar con esto: "multinúcleo es inútil" (usuario) o "multinúcleo es difícil" (devs). Y también tiene la ventaja de cambiar la mentalidad de la mayoría de los desarrolladores sobre el cuidado de la segmentación de subprocesos de interfaz de usuario (causa n. ° 1 de aplicaciones lentas). El punto es que hay muchos beneficios. – davidcesarino