Το Android Studio 3.5 Canary προσθέτει την "Εφαρμογή αλλαγών", μια αντικατάσταση του Instant Run

click fraud protection

Το Android Studio 3.5 παρουσιάζει το Apply Changes, το διάδοχο της δυνατότητας Instant Run του δημοφιλούς εργαλείου ανάπτυξης εφαρμογών.

Το Android Studio 3.5 (προς το παρόν στα κανάλια Canary και Dev) διαθέτει τώρα έναν νέο τρόπο για να προωθήσετε τις αλλαγές κώδικα στην εφαρμογή σας και να δείτε τα αποτελέσματά τους αμέσως χωρίς να χρειάζεται να κάνετε επανεκκίνηση της εφαρμογής. Με την ονομασία "Εφαρμογή αλλαγών", είναι ο διάδοχος της δυνατότητας "Άμεση εκτέλεση" σε προηγούμενες εκδόσεις του Android Studio.

της Google Ιστολόγιο προγραμματιστών Android λέει τα εξής σχετικά με την Εφαρμογή αλλαγών:

Το Apply Changes σάς επιτρέπει να προωθήσετε αλλαγές κώδικα και πόρων στην εφαρμογή που εκτελείται χωρίς να κάνετε επανεκκίνηση της εφαρμογής σας — και, σε ορισμένες περιπτώσεις, χωρίς να κάνετε επανεκκίνηση της τρέχουσας δραστηριότητας. Το Apply Changes αντικαθιστά το Instant Run με μια εντελώς νέα προσέγγιση για βελτιστοποίηση κατασκευής. Αντί να ξαναγράψετε τον bytecode του APK σας κατά τη διάρκεια της κατασκευής, το Apply Changes επαναπροσδιορίζει τις κλάσεις εν κινήσει αξιοποιώντας τα όργανα χρόνου εκτέλεσης που υποστηρίζονται σε Android 8.0 (επίπεδο API 26) ή νεότερη έκδοση.

Επιπλέον, το Android Studio σάς ζητά τώρα να αποφασίσετε εάν θα επανεκκινήσετε την εφαρμογή ή τη δραστηριότητά σας όταν εντοπίσει ότι οι αλλαγές δεν είναι συμβατές με την Εφαρμογή αλλαγών. Αυτός ο επιπλέον έλεγχος θα πρέπει να σας προσφέρει μια πιο συνεπή και προβλέψιμη εμπειρία σε σύγκριση με τη συμπεριφορά του Instant Run.

Η ανάρτηση ιστολογίου συνεχίζει να παραθέτει ορισμένους περιορισμούς στη νέα λειτουργικότητα. Για παράδειγμα, η συσκευή στην οποία δοκιμάζετε την εφαρμογή σας πρέπει τουλάχιστον να εκτελείται Android 8.0 Oreo (API Επίπεδο 26) και υπάρχουν ορισμένες αλλαγές κώδικα που θα εξακολουθούν να απαιτούν την επανεκκίνηση της εφαρμογής σας. Όπως και με την "Άμεση εκτέλεση", η "Εφαρμογή αλλαγών" θα αναγκάσει την εφαρμογή σας να επανεκκινήσει εάν:

  • Προσθήκη ή διαγραφή κλάσης, μεθόδου ή πεδίου
  • Αλλαγή του μανιφέστου
  • Αλλαγή υπογραφών μεθόδου
  • Αλλαγή τροποποιητών μεθόδων ή κλάσεων
  • Μετονομασία τάξεων
  • Αλλαγή κληρονομιάς τάξης
  • Προσθήκη ή αφαίρεση πόρου

Στην ενότητα "Γνωστά ζητήματα", η ανάρτηση ιστολογίου αναφέρει ότι δεδομένου ότι η Google έδωσε αρχικά προτεραιότητα στη σταθερότητα έναντι της απόδοσης σε αυτήν τη νέα λειτουργία, μερικές φορές θα εκτελείται η "Εφαρμογή αλλαγών" πιο αργά από το προκάτοχό του χαρακτηριστικό "Instant Run". Επίσης, οι εικόνες εξομοιωτή x86_x64 δεν υποστηρίζονται και για σκοπούς εντοπισμού σφαλμάτων, μόνο το Android Pie (API Επίπεδο 28) είναι υποστηρίζεται. Μπορείτε να δείτε την πλήρη λίστα περιορισμών και γνωστών προβλημάτων στον παρακάτω σύνδεσμο πηγής.

Για μια πιο λεπτομερή περιγραφή της διαφοράς μεταξύ "Εφαρμογή αλλαγών" και "Άμεσης εκτέλεσης", ένας υπάλληλος της Google στην ομάδα του Android Studio είπε αυτό Reddit:

Κάνει κάτι πολύ, πολύ διαφορετικό. Το Instant Run είχε πολύ συγκεκριμένο αντίκτυπο στο build, οργανώνοντας κάθε τάξη σας τη στιγμή της μεταγλώττισης για να τις προετοιμάσει για αντικατάσταση κατά τη διάρκεια του χρόνου εκτέλεσης με μια νέα έκδοση της τάξης. Επίσης, χωρίζει το APK σας σε πολλά APK για να ανεβάσετε ξανά την εφαρμογή σας σταδιακά.

Το Apply Changes δεν κάνει τίποτα παρόμοιο. Το APK σας είναι πολύ το ίδιο είτε χρησιμοποιείτε Εφαρμογή αλλαγών είτε όχι. Αντίθετα, βασίζεται σε νέες δυνατότητες οργάνων χρόνου εκτέλεσης του ART VM για τη δυναμική επαναφόρτωση κλάσεων και την αντικατάστασή τους ενώ εκτελείται η εφαρμογή. Αυτός είναι ο λόγος που απαιτεί πολύ νεότερες εκδόσεις Android.

Η "Εφαρμογή αλλαγών" αναμένεται να αντικαταστήσει τελικά την "Άμεση εκτέλεση" στα κανάλια Beta και Stable καθώς η Google κάνει βελτιώσεις στην απόδοση και τη σταθερότητά της.


Πηγή: Android Developers Blog