Android 11 AMA: Χωρίς στιγμιότυπα οθόνης με κύλιση, ταχύτερες εκκινήσεις εφαρμογών, περισσότερα

click fraud protection

Η ομάδα μηχανικών Android της Google φιλοξένησε ένα AMA στο Reddit για να απαντήσει σε ερωτήσεις σχετικά με το Android 11. Δείτε τι μάθαμε για την επόμενη έκδοση του λειτουργικού συστήματος Android.

Χθες, η Google κυκλοφόρησε Android 11 Beta 2, φέρνοντας το οριστικοποιημένο SDK, NDK, επιφάνειες που αντιμετωπίζουν εφαρμογές, συμπεριφορές πλατφόρμας και περιορισμούς σε διεπαφές εκτός SDK για προγραμματιστές. Σήμερα, η Google απαντά σε ερωτήσεις που σχετίζονται με το Android 11 στην κοινότητα /r/AndroidDev του Reddit μετά από ερωτήσεις πεδίου την περασμένη εβδομάδα. Ακολουθεί μια περίληψη όλων όσων μάθαμε από το AMA (Ρωτήστε με οτιδήποτε) της Google.

Μία από τις πιο αναμενόμενες λειτουργίες του Android 11 δεν θα είναι διαθέσιμη όταν το λειτουργικό σύστημα έξοδος από την beta στις 8 Σεπτεμβρίου: Στιγμιότυπα οθόνης κύλισης. Αρχικά προγραμματίζεται να κυκλοφορήσει στο Android 11, η Google έχει πλέον επιβεβαιώσει ότι η δυνατότητα "δεν έκανε την περικοπή για το R." Android 11 Προεπισκόπηση προγραμματιστή 1 και όλες οι επόμενες εκδόσεις DP και Beta έχουν ένα κουμπί κράτησης θέσης για τη λήψη ενός στιγμιότυπου οθόνης κύλισης που μπορεί να

εμφανίστηκε χειροκίνητα με μια κρυφή εντολή προγραμματιστή, αλλά πατώντας το κουμπί εμφανίζεται απλώς ένα μήνυμα τοστ που δηλώνει ότι η δυνατότητα "δεν εφαρμόζεται".

Το κουμπί στιγμιότυπου οθόνης που δεν έχει εφαρμοστεί κύλισης του Android 11.

Ελπίζαμε ότι η δυνατότητα θα έβγαινε σε μια έκδοση beta ή ακόμα και στη σταθερή έκδοση, αλλά φαίνεται ότι αυτό δεν θα συμβεί.

Σχόλιο από συζήτηση. Ανήκουμε στην ομάδα μηχανικών Android. Ρωτήστε μας οτιδήποτε σχετικά με τις ενημερώσεις Android 11 στην πλατφόρμα Android! (έναρξη 9 Ιουλίου).

Αυτές οι ειδήσεις είναι κατανοητό ότι θα ενοχλήσουν ορισμένους χρήστες. Εξάλλου, πολλοί κατασκευαστές OEM έχουν αυτήν τη δυνατότητα στο δικό τους λογισμικό εδώ και χρόνια, οπότε τι χρειάζεται η Google τόσο πολύ για να την προσθέσει στα τηλέφωνα Pixel; Όπως εξηγεί ο Dan Sandler από την ομάδα System UI της Google, το πρόβλημα είναι ότι η Google θέλει να το κάνει σωστά. Ορισμένες εφαρμογές κύλισης στιγμιότυπων οθόνης εκεί έξω απλώς μιμούνται μια κύλιση και στη συνέχεια συνδυάζουν πολλαπλά στιγμιότυπα οθόνης καθώς κινείται η οθόνη. Εάν έχετε ασχοληθεί ποτέ με την αυτοματοποίηση διεπαφής χρήστη στο Android, θα ξέρετε ότι αυτό δεν λειτουργεί πάντα, καθώς, όπως αναφέρει ο κ. Sandler, οι εφαρμογές μπορούν να χρησιμοποιήσουν "ένα bog-standard RecyclerView ή να έχουν εφαρμόσει τη δική τους μηχανή κύλισης με επιτάχυνση OpenGL." Δεδομένου ότι η Google σχεδιάζει να να εφαρμόσουν αυτήν τη δυνατότητα όχι μόνο για smartphone Pixel αλλά για ολόκληρο το οικοσύστημα Android ως μέρος του AOSP, πρέπει να βεβαιωθούν ότι θα λειτουργήσει όλα εφαρμογές και όχι μόνο "μία ή δύο επιλεγμένες εφαρμογές σε μια συγκεκριμένη συσκευή."

Επειδή η ομάδα έπρεπε να «εστιάσει [τους] περιορισμένους πόρους», ειδικά λόγω των προκλήσεων που προέκυψαν από τον COVID-19, η ομάδα αποφάσισε να τοποθετήσει στιγμιότυπα οθόνης κύλισης στο backburner για μια μελλοντική έκδοση Android.

Νέα απαίτηση CDD για ενημέρωση των χρηστών για περιορισμούς στο παρασκήνιο

Δεν είναι μυστικό ότι πολλοί OEM Android, ειδικά οι Κινέζοι, έχουν επιθετικούς περιορισμούς στις εφαρμογές που εκτελούνται στο παρασκήνιο. Μερικοί προγραμματιστές ήταν τόσο απογοητευμένοι με το ότι οι εφαρμογές τους σκοτώθηκαν στο παρασκήνιο που ενώθηκαν για να δημιουργήσουν έναν ιστότοπο που ονομάζεται "Don't Kill My App" για την κατάταξη των OEM με βάση το πόσο άσχημα χειρίζονται τις διαδικασίες εφαρμογών παρασκηνίου. Οι ίδιοι προγραμματιστές έκανε ακόμη και πρόσφατα ένα σημείο αναφοράς ώστε οι χρήστες να μπορούν να δοκιμάσουν πόσο επιθετικά σκοτώνει η συσκευή τους εφαρμογές στο παρασκήνιο. Ο λόγος για τον οποίο πολλοί OEM λατρεύουν να σκοτώνουν τις διαδικασίες εφαρμογών παρασκηνίου είναι περίπλοκος, αλλά νομίζω ότι εξηγείται καλύτερα σε αυτό το σχόλιο από το Redditor /u/πιθανώς αμφισβητούμενο. Το σχόλιο περιγράφει την περίπλοκη κατάσταση της ανάπτυξης εφαρμογών Android στην Κίνα, τον τρόπο με τον οποίο οι κινεζικές εταιρείες τεχνολογίας εμπλέκονται στην περαιτέρω περίπλοκη των πραγμάτων και πώς η έλλειψη υπηρεσιών Google συμβάλλει στη συνεχιζόμενη Ανω ΚΑΤΩ.

Ανεξάρτητα από αυτό, πολλοί προγραμματιστές εφαρμογών είναι κατανοητά απογοητευμένοι από αυτές τις τροποποιήσεις στη συμπεριφορά της πλατφόρμας Android, κάτι που είχε ως αποτέλεσμα οι προγραμματιστές να ωθήσουν ένα σχόλιο ρωτώντας την Google τι κάνουν για αυτό στην κορυφή του Reddit AMA. Ακολουθεί η απάντηση της Google:

Σχόλιο από συζήτηση. Ανήκουμε στην ομάδα μηχανικών Android. Ρωτήστε μας οτιδήποτε σχετικά με τις ενημερώσεις Android 11 στην πλατφόρμα Android! (έναρξη 9 Ιουλίου).

Υπάρχουν μερικά πράγματα που πρέπει να αφαιρέσετε από αυτήν την απάντηση. Πρώτον, η Google θέλει οι OEM να είναι πιο διαφανείς με τους χρήστες σχετικά με τους περιορισμούς εφαρμογών παρασκηνίου που εφαρμόζουν. Έλεγξα το (μη κυκλοφορήσει) Έγγραφο ορισμού συμβατότητας Android 11 (CDD) και βρήκα την ακόλουθη προτεινόμενη προσθήκη στην Ενότητα 3.5 - Συμβατότητα συμπεριφοράς API:

Εάν οι υλοποιήσεις συσκευών εφαρμόζουν ιδιόκτητο μηχανισμό για τον περιορισμό των εφαρμογών και αυτός ο μηχανισμός είναι πιο περιοριστικός από τον κάδο αναμονής "Σπάνιος" στο AOSP, τότε:

[C-1-5] ΠΡΕΠΕΙ να ενημερώνει τους χρήστες εάν οι περιορισμοί εφαρμογής εφαρμόζονται αυτόματα σε μια εφαρμογή. (ΝΕΟ) Τέτοιες πληροφορίες ΠΡΕΠΕΙ να παρέχονται νωρίτερα από 24 ώρες πριν από την εφαρμογή αυτών των περιορισμών.

(Σημείωση) Το Force Stop θεωρείται πιο περιοριστικό από το "Σπάνιο" και ΠΡΕΠΕΙ να συμμορφώνεται με όλες τις απαιτήσεις σύμφωνα με το 3.5.1, συμπεριλαμβανομένου του νέου 3.5.1/C-1-5

Βασικά, η Google δεν μπορεί να εμποδίσει τους OEM να εφαρμόσουν τις δικές τους περιοριστικές δυνατότητες εξουδετέρωσης εφαρμογών. Απαιτούν μόνο από τους OEM να ενημερώνουν τους χρήστες εάν οι περιορισμοί εφαρμογών τους εφαρμόζονται αυτόματα. Ένας OEM θα μπορούσε να εμφανίσει ένα παράθυρο διαλόγου ότι πρόκειται να σταματήσει την εκτέλεση εφαρμογών παρασκηνίου που απορροφούν μπαταρία φόντο και ο χρήστης θα μπορούσε να συναινέσει χωρίς να συνειδητοποιήσει τις εφαρμογές που θέλει πραγματικά να εκτελούνται στο παρασκήνιο επηρεάζονται! Η Google αναθέτει το βάρος στους προγραμματιστές να αντιμετωπίσουν περιπτώσεις όπου η εφαρμογή τους σκοτώνεται απροσδόκητα στο παρασκήνιο. Πράγματι, το σχόλιο του Reddit συνεχίζει να επισημαίνει το νέο "αιτίες εξόδου από τη διαδικασία εφαρμογής" API που μπορεί να πει στους προγραμματιστές εάν η εφαρμογή τους σκοτώθηκε από τον χρήστη, το λειτουργικό σύστημα ή αν απλώς διακόπηκε.

Από την άλλη πλευρά, η Google αντιμετωπίζει επιτέλους την αθέμιτη πρακτική των OEM που επιτρέπουν σε ορισμένες προνομιούχες εφαρμογές να παρακάμπτουν τους περιορισμούς εφαρμογών παρασκηνίου τους. Αυτή η ανάρτηση Μέσης από τον προγραμματιστή Timothy Asiimwe αναφέρεται σε λεπτομέρειες σχετικά με εφαρμογές όπως το WhatsApp, το Facebook και άλλες εφαρμογές εξαιρούνται αυτόματα από τους αυστηρούς περιορισμούς στο παρασκήνιο ορισμένων λογισμικών OEM. Η Google λέει ότι "απαιτούν οι κατασκευαστές συσκευών να μην δημιουργούν λίστες επιτρεπόμενων για κορυφαίες εφαρμογές". Δεν ξέρουμε πώς θα εφαρμοστεί αυτό, αλλά είναι καλό να γνωρίζουμε ότι οι OEM θα αναγκαστούν επιτέλους να αντιμετωπίζουν τους τρίτους προγραμματιστές επί ίσοις όροις — ανεξάρτητα από το πόσο μεγάλες ή μικρές είναι οι εφαρμογές τους είναι.

Τέλος, η Google αναφέρει επίσης πώς το Android 11 έχει «προσθέσει πρόσθετα μέτρα για την πρόληψη της καταχρηστικής συμπεριφοράς με κακή συμπεριφορά εφαρμογών», καθιστώντας λιγότερο δελεαστικό για τους OEM να σκοτώνουν επιθετικά τις διαδικασίες παρασκηνίου. Ωστόσο, η εταιρεία δεν διευκρίνισε τι συνεπάγονται αυτά τα «έξτρα μέτρα».

Βελτιωμένα αντίγραφα ασφαλείας από συσκευή σε συσκευή

Τον περασμένο μήνα, εντοπίσαμε μια αλλαγή στην τεκμηρίωση του Android 11 υπαινίσσεται υποστήριξη για καλύτερα αντίγραφα ασφαλείας τοπικών δεδομένων. Στο Android 11, το σύστημα θα αγνοήσει το χαρακτηριστικό allowBackup Manifest για οποιαδήποτε εφαρμογή που στοχεύει το επίπεδο API 30 όταν ο χρήστης ξεκινά μια μετεγκατάσταση αρχείων εφαρμογών "συσκευή σε συσκευή". Ο υπάλληλος της Google, Eliot Stock λέει ότι αυτή η δυνατότητα έχει σκοπό να διευκολύνει τους κατασκευαστές τηλεφώνων να δημιουργήσουν εργαλεία μετεγκατάστασης συσκευής σε συσκευή, όπως το "εξαιρετικό προϊόν Smart Switch της Samsung" σε βοηθούν να "διασφαλιστεί ότι οι εφαρμογές μεταφέρονται πιο αξιόπιστα μεταξύ συσκευών από την οπτική γωνία του χρήστη." Δυστυχώς, αυτό δεν ισχύει για τα αντίγραφα ασφαλείας που βασίζονται σε σύννεφο, καθώς η Google θέλει να "δώσει στους προγραμματιστές λογισμικού τον έλεγχο γύρω από συμβαίνει με τα δεδομένα της εφαρμογής τους." Ως εκ τούτου, το Android 11 θα εξακολουθεί να σέβεται το χαρακτηριστικό allowBackup για οποιαδήποτε δημιουργία αντιγράφων ασφαλείας και επαναφορά που βασίζεται σε σύννεφο, όπως μέσω του ενσωματωμένου Google Drive της Υπηρεσίας Google Play αντιγράφων ασφαλείας. Τέλος, η Google αναγνωρίζει ότι το ανώτατο όριο δημιουργίας αντιγράφων ασφαλείας των 25 MB ανά εφαρμογή μπορεί να μην είναι αρκετό για ορισμένους προγραμματιστές, επομένως αναζητούν τρόπους για να το λύσουν. Ωστόσο, τα τοπικά αντίγραφα ασφαλείας σε υπολογιστή δεν εξετάζονται και η Google επαναλαμβάνει το σχέδιό της σταδιακή κατάργηση του αντιγράφου ασφαλείας adb σε μελλοντική έκδοση Android.

Σχόλιο από συζήτηση. Ανήκουμε στην ομάδα μηχανικών Android. Ρωτήστε μας οτιδήποτε σχετικά με τις ενημερώσεις Android 11 στην πλατφόρμα Android! (έναρξη 9 Ιουλίου).

Οι προγραμματιστές ενθαρρύνονται να εφαρμόζουν μεθόδους μετεγκατάστασης δεδομένων χωρίς τριβές. ο νέα βιβλιοθήκη Block Store, που αποτελεί μέρος της Βιβλιοθήκης Υπηρεσιών Ταυτότητας Google, έχει σχεδιαστεί για να διευκολύνει τη σύνδεση σε εφαρμογές που έχουν αποκατασταθεί από το cloud σε νέες συσκευές, αλλά εναπόκειται στους προγραμματιστές να επιλέξουν εάν θέλουν να το εφαρμόσουν ή όχι βιβλιοθήκη.

Γρηγορότερες ταχύτητες εκκίνησης εφαρμογών με I/O Read Ahead Process (IORap)

Η Google πειραματίζεται πάντα με τρόπους βελτίωσης της απόδοσης στο Android. Ένα από τα ελάχιστα γνωστά χαρακτηριστικά που πρόσθεσαν στο Android 10 ονομάζεται Unspecialized App Process Pool (USAP). Αυτή η δυνατότητα εξαλείφει το διακλάδωση του Zygote κατά τη διαδικασία εκκίνησης της εφαρμογής, εξοικονομώντας περίπου ~5 ms σε μέσες ταχύτητες εκκίνησης εφαρμογής σε μια συσκευή Pixel 2. Η δυνατότητα είναι αυτή τη στιγμή απενεργοποιημένο από προεπιλογή στο AOSP, και η Google εξηγεί ότι η χρήση της πρόσθετης μνήμης εξακολουθεί να χρειάζεται δοκιμή. Αυτό που είναι πιο ενδιαφέρον, ωστόσο, είναι μια νέα δυνατότητα που έρχεται στο Android 11 που ονομάζεται I/O Read Ahead Process (ΙΟΡαπ). Σύμφωνα με την Google, αυτή η δυνατότητα θα οδηγήσει σε «περισσότερο από 5% πιο γρήγορες κρύες εκκινήσεις με τις περιπτώσεις ηρώων να φτάνουν το 20% πιο γρήγορα». Αυτό το χαρακτηριστικό "θα προαναφέρει τεχνουργήματα εφαρμογών (όπως κώδικα και πόρους) κατά τη διαδικασία εκκίνησης" για να ενισχύσει την εκκίνηση της εφαρμογής ταχύτητες.

Η Google έχει επίσης "κάνει βελτιώσεις στα προφίλ που χρησιμοποιούνται για τη βελτιστοποίηση της διαδρομής κλάσης εκκίνησης και της εικόνας του συστήματος" που θα βελτιώσει την απόδοση της εφαρμογής και θα μειώσει το κόστος μνήμης και αποθήκευσης που σχετίζεται με το σύστημα τεχνουργήματα. Αυτές οι αλλαγές θα ωφελήσουν ως επί το πλείστον συσκευές με υψηλότερες ποσότητες μνήμης RAM, αν και η Google δεν έχει πει ποια είναι η αποκοπή για το πού θα δούμε τα περισσότερα οφέλη.

Αλλαγές του Scoped Storage του Android 11 - Γιατί είναι περιορισμένη η πρόσβαση σε /Λήψεις;

Εφαρμογές που στοχεύουν το Android 11 και χρησιμοποιούν την πρόθεση ACTION_OPEN_DOCUMENT_TREE για να ζητήσουν πρόσβαση σε συγκεκριμένους καταλόγους στο εξωτερικό ο χώρος αποθήκευσης δεν θα μπορεί πλέον να ζητά από τους χρήστες πρόσβαση στον ριζικό κατάλογο του εξωτερικού χώρου αποθήκευσης (/data/media/{user}), το Λήψη κατάλογο (/data/media{user}/Download) ή οποιονδήποτε από τους καταλόγους δεδομένων για συγκεκριμένες εφαρμογές στον εξωτερικό χώρο αποθήκευσης (/Android/data ή /Android/obb). Γιατί είναι περιορισμένη η πρόσβαση στον κατάλογο Λήψης; Σύμφωνα με το Google η Roxanna Aliabadi, είναι επειδή ο φάκελος λήψης "διατρέχει τον μεγαλύτερο κίνδυνο να έχει ιδιωτικές πληροφορίες." Για παράδειγμα, οι χρήστες που κατεβάζουν το φόρο τους οι επιστροφές ή τα τραπεζικά αντίγραφα δεν πρέπει να ανησυχούν για την πιθανότητα οι εφαρμογές να κάνουν κατάχρηση της συνεχούς πρόσβασης ανάγνωσης στο Ευρετήριο. Η Google λέει ότι ο επιλογέας εγγράφων θα έχει "ενημερωμένο κείμενο...για να υποδείξει ότι το Android έχει περιορίσει ορισμένους φακέλους Ας ελπίσουμε ότι αυτό θα μειώσει τη σύγχυση σχετικά με το γιατί δεν μπορούν να παραχωρήσουν στις εφαρμογές πρόσβαση σε ορισμένους καταλόγους πια.

Για περισσότερες πληροφορίες σχετικά με τις επερχόμενες αλλαγές στην πολιτική Scoped Storage και Play, ανατρέξτε σε αυτό το άρθρο.

Διάφορα Θέματα

  • Η στάση της Google για το rooting/modding
    • Ο Jeff Bailey από την ομάδα AOSP της Google επαναλαμβάνει τη θέση της εταιρείας για την υποστήριξη της επιλογής. Η Google "θα συνεχίσει να διασφαλίζει ότι είναι δυνατή η τροποποίηση/rooting της σειράς συσκευών Pixel", αλλά επίσης "θα υποστηρίξει την επιλογή των OEM να μην επιτρέπουν στις συσκευές τους Επιπλέον, η Google δίνει στους προγραμματιστές λογισμικού την επιλογή "να μην επιτρέψουν στο λογισμικό τους να εκτελείται σε συσκευές με root", σε σχέση με πρόσφατες αλλαγές στο ανίχνευση παραβίασης λογισμικού του SafetyNet Attestation API.
  • Τι συνέβη με το "open and set to default";
    • Κατασκευάστηκε το Android 10 Είναι λίγο ενοχλητικό να ορίσετε μια εφαρμογή ως τον προεπιλεγμένο χειριστή για συγκεκριμένους συνδέσμους, που η Google λέει ότι έγινε για να προστατεύσει τους χρήστες από «εκμεταλλευτικές εφαρμογές». Η Google έκανε πίσω σχετικά με αυτήν την αλλαγή αφού την ξανασκεφτείτε, κάνοντας έναν "αριθμό αλλαγών στα παρασκήνια" για την προστασία του χρήστη.
  • Χρησιμοποιείτε το Vulkan Graphics API για την απόδοση του UI;
    • Η Google σχεδιάζει τελικά να χρησιμοποιήσει το Vulkan Graphics API για απόδοση του UI, το οποίο θα επιφέρει κάποιες βελτιώσεις στην απόδοση. Αυτό είναι ακόμη υπό αξιολόγηση, αλλά η εταιρεία δεν είχε λεπτομέρειες να μοιραστεί.
  • Λείπει η υπηρεσία CallScreening σε πολλές συσκευές
    • Οι εφαρμογές Android μπορούν να υλοποιήσουν το CallScreeningService API να παρακολουθούν νέες εισερχόμενες και εξερχόμενες κλήσεις, επιτρέποντάς τους να αναγνωρίζουν τον καλούντα και είτε να αποδέχονται είτε να απορρίπτουν την κλήση. Αν και αυτό είναι ένα επίσημα τεκμηριωμένο API, υπάρχουν προφανώς πολλοί OEM που δεν το εφαρμόζουν σωστά, σύμφωνα με τον προγραμματιστή /u/_zeromod_. Google επιβεβαιώνει ότι αυτό το API έχει επικυρωθεί από το Compatibility Test Suite (CTS), μια αυτοματοποιημένη δοκιμαστική σουίτα που πρέπει να περάσουν όλες οι συσκευές για να θεωρηθούν συμβατές με Android. Για οποιονδήποτε λόγο, αυτό το API επιστρέφει μηδενικό όταν καλούνται συσκευές από OEM όπως Huawei, Vivo, Xiaomi ή Samsung, επομένως είναι πιθανό αυτοί οι OEM να έχουν σφάλμα στο λογισμικό τους.
  • Δεν υπάρχουν σχέδια για πλαίσιο προσθήκης ήχου
    • Ένας προγραμματιστής ρώτησε την Google αν σκοπεύει να εφαρμόσει ένα πλαίσιο προσθήκης ήχου όπως οι μονάδες ήχου της Apple, αλλά η απάντηση είναι ότι είναι απίθανο να συμβεί στο εγγύς μέλλον.

Μπορείτε να διαβάσετε όλες τις απαντήσεις από την ομάδα μηχανικών Android εδώ. Η ομάδα μιλάει λίγο για την Java, το Kotlin, το σύστημα κατασκευής Android, το CameraX API και άλλα θέματα σε μερικά σχόλια. Υπάρχουν επίσης αρκετά σχόλια σχετικά με το Wear OS, το Android TV και το Android Auto, αλλά η Google το επαναλαμβάνει κυρίως την υπάρχουσα εργασία τους σε αυτές τις πλατφόρμες και λέει στους προγραμματιστές να μείνουν συντονισμένοι για περισσότερες πληροφορίες κατά τη διάρκεια του "Android πέρα ​​από τηλέφωνα«Εβδομάδα που ξεκινά στις 10 Αυγούστου.