Android 8.0 Oreo ( API nivel 26 ) introdujo dos importantes límites de fondo para preservar la duración de la batería y los recursos de RAM del dispositivo.
-
Limitaciones del servicio de antecedentes : Después de Android 8.0, las aplicaciones que van en segundo plano tienen restricciones en el uso de los Servicios. Introduce los conceptos de Servicios en primer plano y en segundo plano. Los servicios en primer plano son visibles para los usuarios y no tienen restricciones impuestas.
Según los médicos,
Mientras una aplicación está en primer plano, puede crear y ejecutar tanto servicios de primer y segundo plano libremente.
Además, el sistema mantiene una lista blanca. Las aplicaciones que aparecen en la lista blanca tienen acceso total para crear servicios de fondo. Los documentos también mencionan eso,
Para migrar a Android 8.0 (nivel de API 26), el desarrollador reemplaza el servicio de fondo con un trabajo programado, que se pone en marcha periódicamente, consulta el servidor, y luego lo abandona.
-
Limitaciones de la radiodifusión : Desde el Android 8.0,
BroadcastReceiver
sólo puede ser instanciado en tiempo de ejecución y no en el manifiesto de la aplicación. Esto reduce la carga del sistema ya que la aplicación sólo utiliza el componente cuando es necesario.
El problema se describe en los documentos,
Si una aplicación se registra para recibir emisiones, el receptor de la aplicación consume recursos cada vez que se envía la emisión. Esto puede causar problemas si demasiadas aplicaciones se registran para recibir emisiones basadas en eventos del sistema; un evento de sistema que desencadena una emisión puede hacer que todas esas aplicaciones consumen recursos en rápida sucesión, lo que perjudica la experiencia del usuario.
Ahora, tu pregunta,
Algunas de las notificaciones de la aplicación no aparecen después de la actualización? IS esto debido al límite de ejecución de fondo?
Puede haber los siguientes problemas basados en las limitaciones descritas anteriormente:
- El desarrollador de la aplicación no ha optimizado la aplicación para los cambios de Android 8.0.
- La aplicación no hace un uso inteligente de los servicios de Android y por lo tanto es eliminada por el sistema.
- El
BroadcastReceiver
no se ha inicializado correctamente como se requiere y, por lo tanto, no está operativa y no podría actualizar el contenido de la aplicación.
- Algún otro cambio subyacente para el que la aplicación no está optimizada.
Espero que esto ayude.