Android 8.0 Oreo ( API level 26 ) a introduit deux limites majeures en arrière-plan afin de préserver l'autonomie de la batterie de l'appareil et les ressources de la mémoire vive.
-
Limites du service d'antécédents : Après Android 8.0, les applications qui passent en arrière-plan ont des restrictions sur l'utilisation des services. Il présente les concepts de services d'avant-plan et d'arrière-plan. Les services d'avant-plan sont visibles par les utilisateurs et ne sont soumis à aucune restriction.
Selon les documents,
Lorsqu'une application est au premier plan, elle peut créer et exécuter à la fois des fichiers services d'avant-plan et d'arrière-plan.
De plus, le système maintient une liste blanche. Les applications figurant sur la liste blanche ont un accès total à la création de services d'arrière-plan. La documentation mentionne également que,
Pour migrer vers Android 8.0 (niveau API 26), le développeur remplace l'élément service d'arrière-plan par une tâche planifiée, qui est lancée périodiquement, interroge le serveur, puis s'arrête.
-
Limites de la diffusion : A partir d'Android 8.0,
BroadcastReceiver
ne peut être instancié qu'au moment de l'exécution et non dans le manifeste de l'application. Cela réduit la charge du système car l'application n'utilise le composant que lorsque c'est nécessaire.
Le problème est décrit dans la documentation,
Si une application s'enregistre pour recevoir des diffusions, le récepteur de l'application consomme à chaque fois que la diffusion est envoyée. Cela peut poser des problèmes si trop d'applications s'enregistrent pour recevoir des diffusions en fonction des événements du système ; un événement système qui déclenche une diffusion peut entraîner la consommation de ressources par toutes ces applications. de ces applications à consommer des ressources en succession rapide, ce qui nuit à l'expérience de l'utilisateur.
Maintenant, votre question,
Certaines notifications de l'application ne s'affichent pas après la mise à jour ? S'AGIT-IL est-ce dû à la limite d'exécution en arrière-plan ?
Les limitations décrites ci-dessus peuvent entraîner les problèmes suivants :
- Le développeur de l'application n'a pas optimisé l'application pour les changements d'Android 8.0.
- L'application n'utilise pas les services Android de manière judicieuse et est donc éliminée par le système.
- En
BroadcastReceiver
n'a pas été initialisé correctement comme il se doit et n'est donc pas opérationnel et n'a pas pu mettre à jour le contenu de l'application.
- Un autre changement sous-jacent pour lequel l'application n'est pas optimisée.
J'espère que cela vous aidera.