Android ¿cuántos hilos puedo tener?
Tengo una aplicación para Android que tiene cosas separadas sucediendo, pero son básicamente hilos (y definitivamente son hilos para el depurador de Android)
Hay múltiples oyentes de animación que se enganchan y se llaman entre sí
- Cómo detener un temporizador después de cierto número de veces
- No recibe datos de ubicación del hilo
- Tema de Android Simple Timer / Timertask
- Temporizador de cuenta atrás Android La barra de progreso circular no coincide con el temporizador
- Timer y TimerTask en Android
Hay un temporizador de cuenta regresiva que siempre está contando hasta cero después de que se inicia
Ahora tengo que considerar la posibilidad de añadir más temporizadores de cuenta regresiva. ¿Cuántos de estos procesos de bucle puedo tener? En esta implementación en particular no me preocupa el rendimiento, la eficiencia, etc, hasta que se hace evidente.
Insight apreciado
- Android equivalente de setTimeout y clearTimeout de javascript?
- Android: Alternativa de temporizador / retraso
- Temporizador en segundo plano
- Cómo mostrar el temporizador en android
- Android: EditText pierde foco cuando se llama a setText
- ¿Cuál es el enfoque más eficiente en cuanto a la batería de usar LocationClient para recibir actualizaciones periódicamente?
- ¿Cómo puedo cancelar desde Device.StartTimer?
- ¿Cómo agregar tiempo al temporizador de cuenta atrás?
Me sorprendería mucho saber que agotó el número de hilos que puede utilizar de forma segura en una aplicación de Android, siempre y cuando esté administrando adecuadamente su vida útil y evite que se produzcan "bucles de ocupado" y similares.
Una cosa que aprendí sin embargo, estoy bastante seguro de que sólo puede tener 5 asynctasks operativo en cualquier momento, y que arbitrariamente seguirá existiendo y se matan o respawned por sí mismos si se comienzan nuevos … es decir, si me convirtió un asynctask Entonces cinco veces el depurador dirá 5 subprocesos asincrónicos operativos, pero puedo activar y desactivar continuamente tanto como quiera porque el pool de recursos matará el asíncrito muerto más antiguo.
No hay un máximo que yo sepa. Puedo decirle, sin embargo, que lo más probable es que NO NECESITA que muchos hilos.
Puede mantener a los oyentes de cuenta regresiva en un solo hilo utilizando el postDelayed()
Android, específicamente el método postDelayed()
. Inicie un Looper
en un hilo separado y utilice un Handler
para gestionar los tiempos de espera – no espere la espera, o bucle de sueño.
No creo que el cronómetro de la cuenta regresiva creará hilos – debe agregar simplemente su tarea a una cola en su hilo principal del aspecto de él.
Todos sus oyentes deben tener lugar en el mismo hilo también (hay un solo hilo que gestiona todos los oyentes (para objetos visibles de todos modos).
Por lo tanto, es probable que no utilice en cualquier lugar cerca de muchos hilos como usted piensa que es. Si estuviera creando muchos hilos, estaría preocupado – son realmente difíciles de mantener sincronizados y le pueden costar mucho más de lo que obtendría, pero con las estructuras listadas iría adelante y asignaría tantos como Usted se siente apropiado (pero la prueba para el funcionamiento en un dispositivo barato por supuesto)
- Error de Listactivity con el dispositivo en ejecución de habas de jalea (las extensiones SPAN_EXCLUSIVE_EXCLUSIVE no pueden tener una longitud cero)
- Ruby en android: ruboto vs rhodes?