Σύνοψη Android Q AMA: Τι είπε η Google για το Android 10 στο Reddit

Οι μηχανικοί της Google έκαναν ένα AMA στο Reddit τις προάλλες. Το AMA αφορούσε το Android Q beta. Ακολουθεί μια περίληψη των όσων μάθαμε από τις απαντήσεις τους.

Πέρυσι, η ομάδα Android της Google φιλοξένησε ένα Ask Me Anything (AMA) στο /r/AndroidDev subreddit του Reddit σε ερωτήσεις πεδίου σχετικά με το Προεπισκόπηση προγραμματιστή Android P. Φέτος, η ομάδα μηχανικών που εργάζεται στο Android Q beta απάντησε σε ερωτήσεις στο Reddit. Το ΑΜΑ ξεκίνησε την 1η Αυγούστου στις 12:00 μ.μ. PST και τελείωσε περίπου μιάμιση ώρα αργότερα. 33 μηχανικοί της Google συμμετείχαν στο AMA, απαντώντας σε έναν τόνο ερωτήσεων στο σύντομο χρονικό διάστημα που διήρκεσε το AMA. Εδώ είναι η περίληψη όλων των νέων πληροφοριών που μάθαμε.

Android Q AMA: Όλα όσα μάθαμε από την Google

Συμμετέχοντες από την ομάδα beta του Android Q

  • Άνταμ Κοέν: TLM σε Android Launcher / UI συστήματος
  • Άνταμ Πάουελ: TLM σε εργαλειοθήκη/πλαίσιο διεπαφής χρήστη. προβολές, κύκλος ζωής, θραύσματα, υποστήριξη lib
  • Άλαν Βιβερέτ: TLM, Jetpack / AndroidX
  • Άλεν Χουάνγκ: PM για διεπαφή χρήστη, πρόγραμμα εκκίνησης, ειδοποιήσεις, ενσωματώσεις αναζήτησης και πολλά άλλα!
  • Andrew Sappirstein: TLM στις Ρυθμίσεις Android
  • Brahim Elbouchikhi: PM Director for Android Machine Learning and Camera (NN API, ML Kit, CameraX, Camera Platform)
  • Τσαντ Μπρούμπικερ: Μηχανικός Λογισμικού, Ασφάλεια πλατφόρμας Android
  • Charmaine D'Silva: PM για το απόρρητο
  • Chet Haase: Android Chief Advocate, Developer Relations
  • Diana Wong: PM, Συμβατότητα εφαρμογής, χρήση API εκτός SDK, ART, NDK
  • Νταϊάν Χάκμπορν: Διαχειριστής της ομάδας πλαισίου Android (Resources, Window Manager, Activity Manager, Multi-user, Printing, Accessibility, κ.λπ.)
  • Η Ε.Κ. Chung: Διευθυντής UX
  • Ian Lake: Μηχανικός Λογισμικού, Jetpack (Fragments, Navigation, Architecture Components)
  • Iliyan Malchev: Κύριος Μηχανικός Λογισμικού, Project Mainline
  • Jacob Lehrbaum: Διευθυντής Σχέσεων Προγραμματιστή για Android
  • Τζέικ Γουόρτον: Μηχανικός Λογισμικού, Jetpack
  • Τζαμάλ Ίσον: PM, Android Studio
  • Τζεφ Μπέιλι: TLM, Android Open Source Project (AOSP)
  • Τζεφ Σάρκι: Software Engineer, Android Framework
  • Τζέφρι βαν Γκογκ: Android Studio, Compilers
  • Τζεν Τσάι: PM, Location and Context, Auth, Autofill, API non-SDK use, ART
  • Karen Ng: Ομάδα PM για Εργαλεία προγραμματιστών Android, Android Studio, Android Tookit και Jetpack
  • Paul Bankhead: Διευθυντής Διαχείρισης Προϊόντων, Google Play
  • Rohan Shah: Διαχείριση προϊόντων, διεπαφή χρήστη συστήματος Android
  • Ρομέν Γκάι: Διαχειριστής της ομάδας Android Toolkit/Jetpack
  • Sagar Kamdar: Διευθυντής Διαχείρισης Προϊόντων, Android
  • Σαβ Κ: Διευθυντής Μηχανικής, Συνδεσιμότητα Android
  • Σελίμ Τσινέκ: Software Engineer, Android System UI
  • Στέφανι Σάαντ Κάθμπερτσον: Ανώτερος Διευθυντής Διαχείρισης Προϊόντων, Android
  • Sumir Kataria: Μηχανικός Λογισμικού, Jetpack (WorkManager)
  • Τράβις ΜακΚόι: PM, πλατφόρμα Android
  • Trystan Upstill: Διακεκριμένος μηχανικός, επικεφαλής για διεπαφή χρήστη και ευφυΐα συστήματος Android
  • Vinit Modi: ΜΜ, κάμερα Android

Διαβάστε περισσότερα

Οι OEM δεν μπορούν πλέον να σκοτώνουν εφαρμογές όταν ο χρήστης τις απομακρύνει στα πρόσφατα

Εάν έχετε χρησιμοποιήσει ποτέ ένα smartphone από μια κινεζική μάρκα, τότε πιθανότατα έχετε αντιμετωπίσει ενοχλητικές λειτουργίες "βελτιστοποίησης μπαταρίας" που σκοτώστε όλες τις αγαπημένες σας εφαρμογές στο παρασκήνιο. Όχι μόνο αυτή η συμπεριφορά είναι ενοχλητική για τους χρήστες που περιμένουν ορισμένες εφαρμογές να συνεχίσουν να εκτελούνται στο παρασκήνιο για οποιονδήποτε λόγο, αλλά είναι επίσης ενοχλητικό για προγραμματιστές που πρέπει να υποστούν κακές κριτικές από χρήστες που δεν καταλαβαίνουν ότι δεν είναι της εφαρμογής σφάλμα. Ενώ η Google είναι ακόμη δεν αντιμετώπισαν πλήρως αυτό το θέμα (απέτρεψαν με το χέρι το ζήτημα δηλώνοντας ότι αυτή η συμπεριφορά είναι πιθανότατα ήδη παραβιάζει τις απαιτήσεις του εγγράφου ορισμού συμβατότητας Android), η εταιρεία είναι αναλαμβάνοντας δράση έναντι μιας αλλαγής συμπεριφοράς "εξοικονόμησης μπαταρίας" που χρησιμοποιείται από ορισμένους κατασκευαστές OEM.

"Για να βοηθήσουμε με την κατάσταση, προσθέσαμε μια δοκιμή CTS στο Android Q για να διασφαλίσουμε ότι μια εφαρμογή δεν θα σκοτωθεί όταν σύρεται από τα Πρόσφατα."

Το Android R μπορεί να φέρει περισσότερες αλλαγές στα στιγμιότυπα οθόνης από ό, τι περιμέναμε

Η Google σχεδιάζει να προσθέσει κύλιση στιγμιότυπων οθόνης στο Android R, αλλά ταυτόχρονα, το Η ομάδα Android είναι "Κάνοντας μια προσεκτική ματιά στο πώς [αυτοί] μπορούν να βελτιώσουν την εμπειρία ολόκληρης της οθόνης-[X] για το R." Έτσι, μπορούμε δείτε άλλες βελτιώσεις στη συμπεριφορά του στιγμιότυπου οθόνης (ΚΑΙ οθόνης) στην επόμενη σημαντική έκδοση Android.

Διευκρίνιση της νέας λειτουργίας επιφάνειας εργασίας του Android Q

ο πρώτη δημόσια έκδοση beta του Android Q έφερε μια κρυφή διεπαφή λειτουργίας επιφάνειας εργασίας στο AOSP και στο Pixel Launcher. Αν και η Google αναφέρθηκε εν συντομία στο χαρακτηριστικό κατά τη διάρκεια μιας συνεδρίας Google I/O, δεν ακούσαμε ποτέ απευθείας από την Google πώς ταιριάζει η νέα δυνατότητα στο οικοσύστημα Android. Google διευκρινίζει τώρα:

"Στο Q AOSP η "λειτουργία επιφάνειας εργασίας" είναι μια επιλογή προγραμματιστή που απευθύνεται σε προγραμματιστές εφαρμογών. Τους επιτρέπει να δοκιμάσουν τις εφαρμογές τους σε περιβάλλοντα λειτουργίας παραθύρου πολλαπλών οθονών και ελεύθερης μορφής. Προηγουμένως, δεν υπήρχε βολικός τρόπος δοκιμής της συμπεριφοράς της εφαρμογής σε μια δευτερεύουσα οθόνη και με παράθυρα με δυνατότητα αλλαγής μεγέθους ελεύθερα στο απόθεμα Android. Αυτή η δυνατότητα δεν παράγεται από μόνη της και δεν προορίζεται για τακτικούς χρήστες αυτήν τη στιγμή. Ωστόσο, είναι η βάση της πλατφόρμας Android για τους ΚΑΕ να καινοτομούν και να δημιουργούν εξαιρετικά προϊόντα».

Έτσι, μπορούμε να περιμένουμε να δούμε OEM να βασίζονται στην εγγενή λειτουργία επιφάνειας εργασίας του Android Q. Για παράδειγμα, το Το OnePlus 7 Pro υποστηρίζει προβολή μέσω HDMI, άρα είναι πιθανό αυτό Το OxygenOS 10 βασίζεται στο Android Q θα έχει τη δική του διεπαφή λειτουργίας επιφάνειας εργασίας στο μέλλον. Ελπίζουμε επίσης ότι η Google θα αξιοποιήσει τη δυνατότητα για το επερχόμενο Pixel 4.

Σκοτεινή λειτουργία βασισμένη στον χρόνο

Το Android Q φέρνει επιτέλους μια ευρέως απαιτούμενη λειτουργία: σκοτεινή λειτουργία σε όλο το σύστημα. Επί του παρόντος, η σκοτεινή λειτουργία μπορεί είτε να ενεργοποιηθεί χειροκίνητα στις Ρυθμίσεις ή μέσω πλακιδίου Γρήγορες ρυθμίσεις ή μπορεί να ενεργοποιηθεί αυτόματα όταν είναι ενεργοποιημένη η Εξοικονόμηση μπαταρίας. Πριν από το Android Q, υπήρχε η επιλογή ενεργοποίησης της σκοτεινής λειτουργίας με βάση την ώρα της ημέρας, αλλά αυτή η επιλογή καταργήθηκε. Σύμφωνα με τον Chris Banes:

"Υπάρχουν μερικοί λόγοι για τους οποίους αυτό καταργήθηκε (δεν καταργήθηκε) στο AppCompat v1.1.0: απαιτεί από τις εφαρμογές να ζητήσουν τα δικαιώματα τοποθεσίας να είναι ακριβή και ακόμη και με μια έγκυρη τοποθεσία, οι υπολογισμοί του χρόνου ανατολής/δύσης του ηλίου μπορούν να γίνουν αμαξάκι."

Όταν ρωτήθηκε για αυτά τα σφάλματα, ο κ. Μπάνες δηλώνει ότι «ο υπολογισμός της ανατολής/δύσης του ηλίου είναι εμφανώς δύσκολος, ειδικά για τοποθεσίες κοντά σε βόρειος/νότος πόλος." Ένας χρήστης εμφανίζει αυτό το νυχτερινό φως, διαθέσιμο από το Android 7.1 Nougat, μπορεί να εναλλάσσεται αυτόματα με βάση το Sunset/Sunrise χρονοδιαγράμματα. Ο κ. Μπάνες δηλώνει στη συνέχεια ότι από το Night Light χρησιμοποιεί το CalendarAstronomer από ΜΕΘ4J, χρησιμοποιεί ένα "μεγάλο κομμάτι κώδικα από το οποίο δεν θα θέλαμε να εξαρτάται το AppCompat." Ωστόσο, η ομάδα το κάνει κατάσταση ότι αυτό το χαρακτηριστικό είναι "κάτι που [θα εξετάσουν]."

Υποχρεωτική υποστήριξη Camera2 API/Camera HAL3 για συσκευές εκκίνησης Android Q

Η Google παρουσίασε το Camera2 API για να καθορίσει καλύτερα πώς οι εφαρμογές μπορούν να αλληλεπιδράσουν με τις μεμονωμένες κάμερες που είναι συνδεδεμένες στο smartphone σας. Ενώ η Google Ενθαρρύνει Οι προμηθευτές smartphone για να "εκθέσουν όλες τις φυσικές κάμερές τους στους προγραμματιστές", πολλοί προμηθευτές επιλέγουν να μην το κάνουν, παρόλο που "το ίδιο το API δεν είναι αποτρέποντάς τα σήμερα." Αυτό σημαίνει ότι πολλές εφαρμογές κάμερας τρίτων δεν μπορούν να χρησιμοποιήσουν τις δευτερεύουσες ή τριτογενείς μονάδες κάμερας σε σύγχρονες smartphones. Ωστόσο, σημειώνεται πρόοδος, καθώς το Android Q έχει βελτιωθεί LOGICAL_MULTI_CAMERA, ένα API που παρέχει στους προγραμματιστές καλύτερη πρόσβαση σε όλες τις κάμερες μιας συσκευής και το οποίο δίνει στους OEM έλεγχο της κατανάλωσης ενέργειας και τη διαχείριση πολλαπλών καταστάσεων κάμερας.

Επιπλέον, η Google λέει ότι έχει προσθέσει απαιτήσεις για όλες τις συσκευές που κυκλοφορούν με Android Q ώστε να υποστηρίζουν εγγενώς το Camera2 API/Camera HAL3. Σύμφωνα με τον Vinit Modi:

"Ξεκινώντας με το Android P, οι νέες συσκευές που αποστέλλονται με 1 GB ή περισσότερο RAM απαιτούνται για την εγγενή χρήση του HALv3/camera2. Android Q και μετά, όλες οι νέες συσκευές πρέπει να υποστηρίζουν εγγενώς το HALv3/camera2. Δυστυχώς, οι αναβαθμίσεις από HALv1 σε HALv3 είναι αρκετά περίπλοκες και μπορεί να έχουν απροσδόκητες συνέπειες, επομένως έπρεπε να περιορίσουμε το πεδίο εφαρμογής σε νέες συσκευές."

Είναι ενδιαφέρον ότι η δήλωση του Modi σχετικά με τις κανονικές συσκευές εκκίνησης RAM Android P αντιφάσκει τι μας είπε νωρίτερα η Google και τι δημοσιεύτηκε στη σελίδα της Σουίτας Δοκιμών Εικόνων στο διαδίκτυο.

Δυναμικό θέμα εφαρμογής με Jetpack Compose

Το πλαίσιο θεμάτων OMS της Sony προστέθηκε στο AOSP αρκετές εκδόσεις πίσω, αλλά είναι μόνο προορίζεται για ΚΑΕ να χτίσει επάνω. Το ξέρουμε ήδη Η Google είναι κατά η χρήση επικαλύψεων πόρων χρόνου εκτέλεσης από χρήστες σε θεματικές εφαρμογές, αλλά για τους προγραμματιστές, η εταιρεία είναι ελπίζοντας ότι είναι Jetpack Compose UI πλαίσιο θα παρουσιάσει «ενδιαφέρουσες προσεγγίσεις για τη δυναμική θεματοποίηση».

Vulkan-backend για το Skia για απόδοση του UI

Πέρυσι, εντοπίσαμε μια συζήτηση μεταξύ των μηχανικών της Google που μιλούν για τα σχέδιά τους να χρησιμοποιήσουν το πλαίσιο Android το API γραφικών Vulkan για απόδοση διεπαφής χρήστη. Ενώ τώρα είναι δυνατό να ενεργοποιήσετε το σύστημα υποστήριξης Vulkan με επιτάχυνση υλικού χωρίς το τηλέφωνό σας Κατάρρευση, δεν έχουμε ακούσει συγκεκριμένα σχέδια από την Google σχετικά με το πότε σκοπεύει να τα διαθέσει αλλαγές. Αυτό το AMA δεν απαντά σε αυτήν την ερώτηση, αλλά τουλάχιστον έχουμε επιβεβαίωση ότι είναι ακόμα στα σκαριά. Σύμφωνα με τον Romain Guy:

"Η ομάδα εργάζεται σε ένα σύστημα υποστήριξης Vulkan για το Skia, το 2D renderer που χρησιμοποιείται από το Android, αλλά δεν είναι ενεργοποιημένο από προεπιλογή αυτήν τη στιγμή. Η διεπαφή χρήστη και ο καμβάς εξακολουθούν να περνούν από το OpenGL ES."

Κάνοντας τη γραμμή χειρονομιών του Android Q πιο δυναμική

Κάποιοι στο XDA εξακολουθούν να πιστεύουν αυτό Οι νέες χειρονομίες του Android είναι ένα χάος, αλλά προσωπικά πιστεύω ότι είναι καλά. Ωστόσο, αν παίξετε λίγο με τις νέες χειρονομίες στο Android Q, θα παρατηρήσετε ότι η γραμμή χειρονομιών δεν κινείται με το δάχτυλό σας. Κολλάει επίσης σε οθόνες όπου δεν χρειάζεται, όπως η αρχική οθόνη ή η επισκόπηση πρόσφατων εφαρμογών. Άλεν Χουάνγκ λέει ότι «συμφωνούν απόλυτα ότι υπάρχουν ευκαιρίες» να κάνουν τη «γραμμή πλοήγησης λιγότερο στατική». Λέει περαιτέρω ότι «αυτό είναι κάτι πάνω στο οποίο εργαζόμαστε - αλλά και εξισορροπώντας, ώστε να μην αποσπά την προσοχή εμφανίζεται/εξαφανίζεται."

Βελτιώσεις στο Storage Access Framework

Οι πολλές αλλαγές στο Android Q έχουν βελτιώσει σημαντικά το ασφάλεια και απόρρητο της πλατφόρμας. Μια τέτοια αλλαγή, που ονομάζεται "Scoped Storage", περιορίζει την πρόσβαση των εφαρμογών σε αρχεία στον εξωτερικό χώρο αποθήκευσης με τρόπο λογικό. Οι εφαρμογές μουσικής δεν χρειάζεται να βλέπουν τη συλλογή σας, για παράδειγμα. Οι εφαρμογές διαχείρισης αρχείων που εκτελούνται σε Android Q πρέπει να χρησιμοποιούν ένα API που ονομάζεται Storage Access Framework για να συνεχίσουν να λειτουργούν κανονικά, αλλά ορισμένοι προγραμματιστές βλέπουν αυτό το API ως κατώτερο σε αυτό που ήταν προηγουμένως διαθέσιμο. Jeff Sharkey από την Google λέει η ομάδα έχει αντιμετωπίσει ορισμένα από αυτά τα παράπονα των προγραμματιστών:

«Κάναμε κάποιες βελτιώσεις στην απόδοση του SAF στις πιο πρόσφατες εκδόσεις Android Q Beta. θα μπορούσατε να ελέγξετε τα σημεία αναφοράς σας σε σχέση με την πιο πρόσφατη Beta; Βεβαιωθείτε επίσης ότι χρησιμοποιείτε ένα ContentProviderClient όταν εκτελείτε μαζικές λειτουργίες."

Το Project Treble βελτίωσε την υιοθέτηση του Android Pie έναντι του Android Oreo

Έχουμε ήδη δει πώς το Project Treble, μια σημαντική ανακατασκευή χαμηλού επιπέδου του πλαισίου Android, έχει βελτιώσει την υιοθέτηση νεότερων εκδόσεων λειτουργικού συστήματος Android. Η Google πιστώνει την Treble πίσω από τη σφαγή των πωλητών smartphone που εντάχθηκαν στο Android P beta πέρυσι και Android Q beta Αυτή την χρονιά. Iliyan Malchev, ο επικεφαλής του Project Treble και Κύρια γραμμή μηχανικός, λέει ότι η υιοθέτηση του Android Pie ήταν «3 φορές» εκείνη του Android Oreo στα τέλη του 2018.

Στο ίδιο σχόλιο, ο Dick Dougherty πειράζει ότι πιο χρήσιμες μετρήσεις είναι στα σκαριά για το διάγραμμα διανομής έκδοσης Android. Το γράφημα ήταν τελευταία ενημέρωση τον Μάιο, αλλά τα δεδομένα του είναι πιο χρήσιμα για τους δημοσιογράφους παρά για τους προγραμματιστές εφαρμογών.

Η εγγραφή οθόνης εξακολουθεί να είναι WIP

Οι πρώιμες εκδόσεις beta του Android Q πρόσθεσαν μια σημαία δυνατότητας για μια βασική συσκευή εγγραφής οθόνης, αλλά η ίδια η πλατφόρμα έχει βελτιώσει σημαντικά τη χρησιμότητα της εγγραφής οθόνης με επιτρέποντας στις εφαρμογές να καταγράφουν τον ήχο από άλλες εφαρμογές. Η Stephanie Saad Cuthbertson είπε ότι η ομάδα εξετάζει "πώς θα μπορούσαμε να τα καταφέρουμε καλύτερα στις ανάγκες εγγραφής οθόνης μόλις χθες". Άλλες μάρκες smartphone όπως OnePlus, ASUS, Huawei και Samsung διαθέτουν ισχυρές συσκευές εγγραφής οθόνης που μπορούν να καταγράφουν τον εσωτερικό ήχο, επομένως η Google θα παίζει catch up εδώ.

Dark Theme All The Things!

Σε περίπτωση που το χάσατε, η Google προσθέτει τη σκοτεινή λειτουργία στις περισσότερες από τις εφαρμογές της. Στέφανι Σάαντ Κάθμπερτσον λέει να περιμένουμε όλες οι "κυριότερες εφαρμογές" να υποστηρίζουν ένα σκοτεινό θέμα "από την επίσημη έκδοση του [Android Q]." Ακόμη και το Google Chrome, το οποίο αυτή τη στιγμή αναγκάζει μια νέα φόρτωση σελίδας όταν είναι ενεργοποιημένο το σκοτεινό θέμα σε όλο το σύστημα, θα ενημερωθεί ώστε να μην ανανεώνεται πλέον όταν το θέμα είναι άλλαξε.

Ναι, τα προγράμματα εκκίνησης τρίτων θα λειτουργούν με χειρονομίες (Τελικά)

Οι χειρονομίες του Android είναι κάπως σπασμένα όταν χρησιμοποιείτε πρόγραμμα εκκίνησης τρίτου κατασκευαστή. Αυτό συμβαίνει επειδή η διεπαφή χρήστη των πρόσφατων εφαρμογών περιλαμβάνεται στην εφαρμογή εκκίνησης μετοχών και η Google δεν το έχει κάνει ακόμα βρήκε έναν τρόπο να έχουμε τις ίδιες απρόσκοπτες μεταβάσεις που βλέπουμε όταν χρησιμοποιούμε χειρονομίες με το stock Pixel Προωθητής. Άνταμ Κοέν βεβαιώνει Τα σχέδια της Google να αντιμετωπίσει αυτά τα ζητήματα "το συντομότερο δυνατό μετά την κυκλοφορία." Λέει περαιτέρω ότι η ασυμβατότητα "θα αντιμετωπιστεί στην ενημέρωση μετά το Q και θα γίνει backport για νέες συσκευές που ξεκινούν με Q."

Τα Dynamic/Logical Partitions δεν είναι εδώ για να σκοτώνουν προσαρμοσμένες ROM

Για να στηρίξουμε Δυναμικές ενημερώσεις συστήματος στο Android Q, ορισμένες συσκευές όπως το Google Pixel 3 και το Pixel 3 XL χρησιμοποιούν λογικά διαμερίσματα. Αυτά τα διαμερίσματα μπορούν να αλλάξουν δυναμικά το μέγεθος. Αυτή η αλλαγή έχει αποδεδειγμένα δύσκολο να λειτουργήσει η πρόσβαση root, και ορισμένοι προγραμματιστές ανησυχούν ότι στοχεύουν προσαρμοσμένες ROM. Ο Iliyan Malchev μας διαβεβαιώνει ότι η πρόθεση δεν είναι να περιορίσουμε τις προσαρμοσμένες ROM. Οπως και εξηγεί:

"Τα δυναμικά διαμερίσματα δεν έχουν σκοπό να περιορίσουν τι μπορείτε να κάνετε με προσαρμοσμένες ROM. Είναι απλά ένα επίλυση του προβλήματος των σταθερών μεγεθών διαμερισμάτων και της έλλειψης ασφαλούς τρόπου επαναδιαμέρισης συσκευών ΟΤΑ. Πριν από τις δυναμικές κατατμήσεις, εάν ένας OEM έκανε λάθος στο μέγεθος π.χ. το διαμέρισμα συστήματος και μετά αυτοί θα περιοριζόταν από αυτή την επιλογή, καθιστώντας πρακτικά αδύνατη την αναβάθμιση μιας συσκευής μετά από ένα ορισμένο χρονικό διάστημα σημείο. Ορισμένοι OEM κάνουν επαναδιαμερισμό των συσκευών τους σε OTA ως θέμα πρακτικής, αλλά αυτό α) δεν υποστηρίζεται επίσημα στο Android και β) η αλλαγή του πίνακα κατατμήσεων θεωρείται αρκετά επικίνδυνη. Τα δυναμικά διαμερίσματα στοχεύουν στην ανακούφιση του προβλήματος εισάγοντας ένα επίπεδο έμμεσων κατευθύνσεων μεταξύ του φυσικού πίνακα κατατμήσεων και της προβολής του λειτουργικού συστήματος. Αυτό με τη σειρά του μας επιτρέπει να προσαρμόσουμε με ασφάλεια τα μεγέθη διαμερισμάτων σε OTA. Όσον αφορά τις προσαρμοσμένες ROM, δεν θα πρέπει να περιορίζεστε καθόλου περισσότερο από ό, τι είστε σήμερα με το τι μπορείτε να κάνετε. Η υποστήριξη προσαρμοσμένων ROM είναι και συνεχίζει να είναι κάτι που αποφασίζει να ενεργοποιήσει κάθε μεμονωμένος OEM."

Project Mainline - ART Module and Support Length

Το Mainline είναι μια νέα πρωτοβουλία της Google που στοχεύει στην τυποποίηση ορισμένων βιβλιοθηκών και πακέτων, ώστε να μπορούν να ενημερωθούν ανεξάρτητα από τις ενημερώσεις της πλατφόρμας. Μερικοί έχουν αναρωτηθεί γιατί το Android Runtime (ART) δεν είναι ακόμη λειτουργική μονάδα κύριας γραμμής, αλλά μου είπαν στο Google I/O ότι Η πολυπλοκότητα που εμπλέκεται στη διαμόρφωση του ART τους εμπόδισε να το συμπεριλάβουν ως ένα από τα αρχικά πακέτα APEX. Οπως και εξήγησε τόσο από τον Iliyan Malchev όσο και από την Diana Wong:

"Η πραγματοποίηση ενημερώσεων στο Runtime (ειδικά επιδιορθώσεις επιδόσεων και GC και βασικές βιβλιοθήκες) είναι σίγουρα κάτι που εξερευνούμε στο πλαίσιο του mainline. Μπορούμε να δούμε πολλά οφέλη από τη δυνατότητα να κάνουμε αυτές τις ενημερώσεις συνεπείς σε όλες τις συσκευές και σε πολλές εκδόσεις με mainline. Είναι επίσης μια τεράστια τεχνική πρόκληση καθώς σκεφτόμαστε πώς να το κάνουμε καλύτερα για τους προγραμματιστές και πιθανότατα μια πολυετή προσπάθεια. Δεν είναι κάτι που μπορεί να κάνει η Mainline αυτή τη στιγμή, αλλά σίγουρα κάτι που σκεφτόμαστε».

Αν ακολουθήσετε το AOSP Gerrit, θα δείτε ότι η Google έχει παρόλα αυτά δύσκολα στη δουλειά κάνοντας ένα Runtime APEX. Επί του παρόντος, φαίνεται να είναι διαχωρισμός Bionic και ART/libcore σε ξεχωριστές μονάδες APEX.

Όσον αφορά το όφελος του Project Mainline, ένας χρήστης ρώτησε σχετικά με τη διάρκεια των ενημερώσεων Mainline. Σε απάντηση, ο Iliyan Malchev λέει ότι "αυτή είναι μια ερώτηση πολιτικής που ακόμα αξιολογούμε, αλλά θέλουμε να ενημερώσουμε τις λειτουργικές μονάδες Mainline σε μια συσκευή για όσο το δυνατόν περισσότερο." Αναγνωρισμένος προγραμματιστής XDA luca020400 ρώτησε εάν θα παρέχονται προκατασκευασμένες μονάδες Mainline, ώστε οι προγραμματιστές προσαρμοσμένης ROM να μπορούν να συγχωνεύουν ενημερώσεις και ως απάντηση, ο Jeff Bailey επαναλαμβάνει ότι "οι λειτουργικές μονάδες που αποχωρίζονται από το AOSP θα έχουν εκδόσεις πηγής που ταιριάζουν με κάθε έκδοση λειτουργικής μονάδας." Μπορούμε ήδη να δούμε την εξέλιξη των νέων μονάδων APEX στο AOSP, όπως ένα για το API νευρωνικών δικτύων.

Το CameraX συναντά το ML Kit

Στο I/O φέτος, η Google παρουσίασε το Βιβλιοθήκη CameraX Jetpack. Αυτή η βιβλιοθήκη έχει σχεδιαστεί για να διευκολύνει τους προγραμματιστές να υποστηρίζουν το Camera2 API του Android, διατηρώντας παράλληλα τη συμβατότητα μέχρι το Android Lollipop. Βίνιτ Μόντι πειράγματα με την οποία η εταιρεία εργάζεται για την ενσωμάτωση του CameraX Κιτ ML, το Firebase SDK μηχανικής εκμάθησης της Google, ώστε οι προγραμματιστές να μπορούν να τροφοδοτούν πλαίσια εικόνων στο ML Kit για ανάλυση.

Επεκτάσεις προμηθευτή CameraX και ημερομηνία κυκλοφορίας

Ο προγραμματιστής μιας εφαρμογής κάμερας λυπάται για το γεγονός ότι οι προηγμένες λειτουργίες κάμερας, όπως το Google Pixel's Night Sight, δεν είναι προσβάσιμες σε εφαρμογές κάμερας τρίτων. Αυτό υποτίθεται ότι μπορεί να επιλυθεί με τις επεκτάσεις προμηθευτή CameraX, στις οποίες ο Jeff Sharkey από την Google λέει ότι "όλες οι συσκευές Pixel έχουν βελτιστοποιηθεί για CameraX Core." Πειράζει ότι "η πτυχή των Extensions θα υποστηρίζεται σε νέες και επερχόμενες συσκευές." Επιπλέον, η Google είναι "Συνεργασία με πολλούς κατασκευαστές για να μπορέσουμε να φέρουμε τις δυνατότητες της συσκευής τους τόσο στους προγραμματιστές όσο και στους χρήστες." Αν και δεν επιβεβαιώνεται άμεσα, είναι πιθανό να δούμε χαρακτηριστικά αρέσει Νυχτερινή όραση στο Google Pixel 4 διατίθενται σε εφαρμογές κάμερας τρίτων που χρησιμοποιούν τη βιβλιοθήκη CameraX.

Ο κ. Sharkey δηλώνει ότι η Google στοχεύει μια έκδοση beta για το τέλος αυτού του έτους.

Βελτιώσεις διαχείρισης μνήμης στο Android Q

Το Pixel 3 κατακρίθηκε επειδή είχε πολλά θέματα μετά την κυκλοφορία, αλλά η Google έχει κάνει πολλά για να αντιμετωπίσει αυτά τα ζητήματα μέσω πολλών ενημερώσεις μετά την κυκλοφορία. Η διαχείριση της μνήμης ήταν μια από τις πιο αδύναμες πτυχές του Pixel 3, αλλά τα πράγματα θα πρέπει να είναι λίγο καλύτερα στην έκδοση του Android Q. Σύμφωνα με τον Selim Cinek:

"Στο SystemUI για παράδειγμα, είχαμε διάφορες μεγάλες προσπάθειες ανακατασκευής στο Q για να μειώσουμε τη χρήση της μνήμης RAM των ειδοποιήσεων και άλλων επιφανειών."

Θα πάρουμε επιτέλους ασύρματη ADB;

Εάν θέλετε να διορθώσετε ασύρματα το τηλέφωνό σας, θα πρέπει να κάνετε root τη συσκευή σας. Jamal Eason από την ομάδα του Android Studio λέει ότι επί του παρόντος εξετάζουν τη σκοπιμότητα αυτής της δυνατότητας.

Η Google εξακολουθεί να δοκιμάζει σε tablet;

Αναγνωρισμένος προγραμματιστής XDA Λουκ1337 ρώτησε εάν η Google εξακολουθεί να δοκιμάζει το AOSP UX σε tablet. Είναι μια δίκαιη ερώτηση λαμβάνοντας υπόψη το έλλειψη καλών tablet Android και το υπάρχουν σφάλματα σε τρέχουσες εκδόσεις. Άλεν Χουάνγκ λέει ότι η Google εξακολουθεί να "δοκιμάζει και να επιδιορθώνει κάθε χρόνο" και ότι η εταιρεία συνεργάζεται στενά με συνεργάτες "για να εξασφαλίσει μια καλή εμπειρία tablet Android".


Υπάρχουν πολλές περισσότερες αναρτήσεις στο πλήρες νήμα στο Reddit. Αυτά που έχω καλύψει εδώ συνοψίζουν όλες τις νέες πληροφορίες που μάθαμε, αλλά αρκετοί υπάλληλοι της Google (ειδικά η Dianne Hackborn) πηγαίνουν στο σκεπτικό τους πίσω από την αποκοπή του χαρακτηριστικού X ή τη μη εφαρμογή του Y άδεια. Σας συνιστώ να διαβάσετε το πλήρες AMA εάν θέλετε να κατανοήσετε λίγο καλύτερα τη λήψη αποφάσεων της ομάδας Android.

Διαβάστε το πλήρες AMA στο /r/AndroidDev