Android P crasht nu apps in plaats van u te vertellen wanneer ze niet reageren

Android P crasht nu apps in plaats van u te vertellen dat ze niet reageren (wat bekend staat als de app reageert niet of ANR-dialoog). Het is een tactiek die wordt gebruikt om ontwikkelaars te pakken te krijgen vanwege slecht gemaakte apps, en het zou wel eens kunnen werken.

Onder alle nieuwe toevoegingen naar Android P inclusief nieuwe navigatiegebaren, Plakjes API, en nieuwe biometrische APIzijn er nog enkele andere veranderingen die ook op een subtielere manier impact kunnen hebben. Een daarvan is het verwijderen van App Not Responding (ANR)-dialoogvensters voor apps op de voorgrond. Het ANR-dialoogvenster verschijnt wanneer iets verhindert dat de hoofd-UI-thread reageert. Wanneer dit gebeurt in Android Oreo of lager, wordt het ANR-dialoogvenster aan de gebruiker getoond om hem of haar hiervan op de hoogte te stellen. Nu crasht de applicatie in Android P gewoon zonder enige vorm van melding voor de gebruiker.

Waarom de applicatie laten crashen zonder de gebruiker te vertellen wat er feitelijk is gebeurd? Het is niet noodzakelijkerwijs een voordeel voor gebruikers, maar het dwingt ontwikkelaars om bijzondere aandacht aan bepaalde problemen te besteden en ervoor te zorgen dat het probleem wordt vermeden. Ontwikkelaars worden aangemoedigd om niets in de voorgrondthread uit te voeren. In de hieronder gelinkte bronvideo bespreekt Google mogelijke oplossingen om dit probleem te voorkomen, inclusief de

AsyncTask-API. De recente beperkingen van Android op achtergrondservices betekenen dat de overstap naar een service hier waarschijnlijk geen goed idee is. We raden u aan onderstaande lezing te beluisteren als u meer wilt weten over de aanpak van dit probleem:

De aanpak van Google is logisch, maar is het te veel? Het kan de indruk wekken dat Android-apps minder vaak crashen, maar als de meldingen minder zichtbaar zijn voor de gebruiker dan zullen ontwikkelaars hun crashtools in de gaten moeten houden, zoals Firebase-crashrapportage, en niet de directe gebruiker feedback. Als u een ontwikkelaar bent van de nieuwste P-bètaversie, kunt u deze crashdialogen terughalen door een instelling in de ontwikkelaarsopties in te schakelen.

Dit is niet de enige verandering in Android P over de zichtbaarheid van wat apps op de achtergrond doen. Android Oreo introduceerde toen de aanhoudende melding bepaalde apps draaiden op de achtergrond als die app geen melding had met voldoende hoge prioriteit, maar Android P haalt die melding nu helemaal weg. Het enige verschil is dat het ANR-dialoogvenster niet zo vervelend was als het plaatsen van een aanhoudende melding.


Via: /r/AndroidDev