Android P fera désormais planter les applications au lieu de vous dire qu'elles ne répondent pas (ce que l'on appelle le dialogue App Not Responding ou ANR). C'est une tactique utilisée pour s'en prendre aux développeurs pour des applications mal conçues, et cela pourrait bien fonctionner.
Parmi tous les nouveaux ajouts vers Android P, y compris nouveaux gestes de navigation, Tranches API, et nouvelle API biométrique, il existe d'autres changements qui peuvent également avoir un impact de manière plus subtile. L’une d’elles est la suppression des boîtes de dialogue App Not Responding (ANR) pour les applications de premier plan. La boîte de dialogue ANR apparaît lorsque quelque chose empêche le thread principal de l'interface utilisateur de répondre. Lorsque cela se produit dans Android Oreo ou une version antérieure, la boîte de dialogue ANR s'affiche à l'utilisateur pour le lui faire savoir. Désormais, sous Android P, l'application plantera sans aucune notification pour l'utilisateur.
Pourquoi planter l'application sans dire à l'utilisateur ce qui s'est réellement passé? Ce n'est pas nécessairement un avantage pour les utilisateurs, mais cela oblige les développeurs à accorder une attention particulière à certains problèmes et à s'assurer qu'ils sont évités. Les développeurs sont encouragés à ne rien exécuter dans le fil de discussion de premier plan. Dans la vidéo source liée ci-dessous, Google discute des solutions potentielles pour éviter ce problème, notamment
API AsyncTask. Les récentes limitations d'Android sur les services en arrière-plan signifient que la transition vers un service n'est probablement pas une bonne idée ici. Nous vous recommandons d'écouter l'exposé ci-dessous si vous souhaitez en savoir plus sur la résolution de ce problème :L'approche de Google est logique, mais est-ce trop? Cela peut donner l'impression que les applications Android plantent moins souvent, mais si les notifications sont moins visibles pour l'utilisateur les développeurs devront alors garder un œil sur leurs outils de crash tels que les rapports de crash de Firebase et non sur l'utilisateur direct. retour. Si vous êtes développeur sur la dernière version bêta de P, vous pouvez rétablir ces boîtes de dialogue de plantage en activant un paramètre dans les options du développeur.
Ce n'est pas le seul changement dans Android P concernant la visibilité de ce que font les applications en arrière-plan. Android Oreo a introduit la notification persistante lorsque certaines applications fonctionnaient en arrière-plan si cette application n'avait pas de notification avec une priorité suffisamment élevée, mais Android P supprime désormais complètement cette notification. La seule différence est que la boîte de dialogue ANR n'était pas aussi ennuyeuse que de placer une notification persistante.
Via: /r/AndroidDev