2010-12-28 10 views
5

Tengo dos receptores que están escuchando android.intent.action.BOOT_COMPLETED y android.intent.action.PACKAGE_REPLACED. Me preguntaba cuánta duración de la batería están haciendo que consuma mi teléfono, ya que hacen que mi aplicación se ejecute constantemente ahora.¿Los receptores de difusión Android consumen batería?

+2

Si no necesita saber si * cada * paquete está cambiando, puede limitar el alcance de su filtro de intención para que solo capture el paquete que le interesa, por lo tanto, solo se inicia el proceso de su aplicación raramente. –

+0

Si solo cojo mi paquete, ¿seguirá apareciendo la aplicación en asesinos de aplicaciones todo el tiempo o solo cuando esté recibiendo una transmisión? – ninjasense

+0

Los asesinos de tareas generalmente no son una buena medida de si algo se está ejecutando realmente. Procesos de caché de Android; los asesinos de tareas tienden a informar estos procesos y culpan a su existencia del último código de aplicación que se ejecutó en ellos. Puede ver un comportamiento similar en DDMS. – CommonsWare

Respuesta

10

Los receptores de transmisión no consumirán directamente mucha batería. BOOT_COMPLETED sucede una vez; PACKAGE_REPLACED ocurre solo en una actualización de la aplicación. Esos probablemente promedian un evento por día.

Ahora, si esos receptores de difusión hacen otras cosas, como iniciar servicios, que pueden tener implicaciones significativas de batería ... pero eso es un problema con sus servicios, no con los receptores mismos.

Cuestiones relacionadas