Το Android P διακόπτει πλέον τις εφαρμογές αντί να σας λέει πότε δεν ανταποκρίνονται

Το Android P θα διακόψει τώρα τις εφαρμογές αντί να σας λέει ότι δεν ανταποκρίνονται (αυτό που είναι γνωστό ως διάλογος App Not Responsing ή ANR). Είναι μια τακτική που χρησιμοποιείται για να προσεγγίσουμε τους προγραμματιστές για κακώς κατασκευασμένες εφαρμογές και μπορεί απλώς να λειτουργήσει.

Μεταξύ όλων των νέες προσθήκες σε Android P συμπεριλαμβανομένου νέες χειρονομίες πλοήγησης, Φέτες API, και νέο βιομετρικό API, υπάρχουν κάποιες άλλες αλλαγές που μπορεί επίσης να έχουν αντίκτυπο με πιο διακριτικό τρόπο. Ένα από αυτά είναι η κατάργηση των πλαισίων διαλόγου App Not Responding (ANR) για εφαρμογές στο προσκήνιο. Ο διάλογος ANR εμφανίζεται όταν κάτι εμποδίζει την απόκριση του κύριου νήματος διεπαφής χρήστη. Όταν συμβαίνει αυτό στο Android Oreo ή παρακάτω, ο διάλογος ANR εμφανίζεται στον χρήστη για να τον ενημερώσει. Τώρα, στο Android P, η εφαρμογή απλώς θα διακοπεί χωρίς καμία ειδοποίηση για τον χρήστη.

Γιατί να διακοπεί η εφαρμογή χωρίς να πείτε στον χρήστη τι πραγματικά συνέβη; Δεν είναι απαραίτητα όφελος για τους χρήστες, αλλά αναγκάζει τους προγραμματιστές να δώσουν ιδιαίτερη προσοχή σε ορισμένα προβλήματα και να βεβαιωθούν ότι το πρόβλημα αποφεύγεται. Οι προγραμματιστές ενθαρρύνονται να μην εκτελούν τίποτα στο πρώτο νήμα. Στο βίντεο πηγής που συνδέεται παρακάτω, η Google συζητά πιθανές λύσεις για την αποφυγή αυτού του προβλήματος, συμπεριλαμβανομένων των

AsyncTask API. Οι πρόσφατοι περιορισμοί του Android στις υπηρεσίες παρασκηνίου σημαίνουν ότι η μετάβαση σε μια υπηρεσία μάλλον δεν είναι καλή ιδέα εδώ. Συνιστούμε να ακούσετε την παρακάτω ομιλία εάν ενδιαφέρεστε να μάθετε περισσότερα για την αντιμετώπιση αυτού του προβλήματος:

Η προσέγγιση της Google είναι λογική, αλλά είναι υπερβολική; Μπορεί να δίνει την εντύπωση ότι οι εφαρμογές Android κολλάνε λιγότερο συχνά, αλλά εάν οι ειδοποιήσεις είναι λιγότερο ορατές στον χρήστη τότε οι προγραμματιστές θα πρέπει να παρακολουθούν τα εργαλεία σφαλμάτων που διαθέτουν, όπως η αναφορά σφαλμάτων Firebase και όχι ο άμεσος χρήστης ανατροφοδότηση. Εάν είστε προγραμματιστής στην πιο πρόσφατη έκδοση P beta, μπορείτε να επαναφέρετε αυτούς τους διαλόγους σφαλμάτων ενεργοποιώντας μια ρύθμιση στις Επιλογές προγραμματιστή.

Αυτή δεν είναι η μόνη αλλαγή στο Android P σχετικά με την ορατότητα του τι κάνουν οι εφαρμογές στο παρασκήνιο. Το Android Oreo παρουσίασε τη μόνιμη ειδοποίηση όταν ορισμένες εφαρμογές εκτελούνταν στο παρασκήνιο εάν αυτή η εφαρμογή δεν είχε μια ειδοποίηση με αρκετά υψηλή προτεραιότητα, αλλά το Android P καταργεί πλήρως αυτήν την ειδοποίηση. Η μόνη διαφορά είναι ότι το πλαίσιο διαλόγου ANR δεν ήταν τόσο ενοχλητικό όσο η τοποθέτηση μιας επίμονης ειδοποίησης.


Μέσω: /r/AndroidDev