- - Τι είναι η ART & πώς είναι διαφορετική από την Dalvik Virtual Machine στο Android;

Τι είναι η ART & Πώς είναι διαφορετική από την Dalvik Virtual Machine στο Android;

Στον κόσμο της τεχνολογίας, νέες ορολογίες καιοι συντομογραφίες δεν είναι κάτι καινούργιο, και μερικές φορές, με κάθε νέα κυκλοφορία του υπάρχοντος λογισμικού, ίσως να δείτε έναν νέο όρο που θα φανεί χρήσιμος και κατανοητός από όλους. Το πρόβλημα για αρχάριους και ακόμη και για πολλούς απλούς χρήστες είναι ότι δεν καταλαβαίνουν πλήρως τι σημαίνει η νέα έννοια και δεν μπορούν εύκολα να το ανακαλύψουν μόνοι τους από επίσημες πηγές, κυρίως εξαιτίας του γεγονότος ότι οι προγραμματιστές δεν είναι, Δεν είμαι πολύ πρόθυμος να εξηγήσω πολλές τέτοιες ορολογίες και τις τεχνικές λεπτομέρειες τους. Στην καλύτερη περίπτωση, θα επισημάνετε έναν επίσημο σύνδεσμο που παρέχει μια εξήγηση, αλλά με τέτοιους τεχνικούς όρους, ότι είναι λίγο πολύ άχρηστο σε έναν μη τεχνικό.

Εμείς στην AddictiveTips έχουμε πάντα υπερηφάνειακαταργώντας τις τεχνικές έννοιες και παρέχοντας απαντήσεις με όρους που είναι ευχάριστοι για τον περιστασιακό χρήστη και τον αρχάριο τεχνολογίας. Ως εκ τούτου, όταν η Google αποφάσισε να εισαγάγει το ART με το Android 4.4 KitKat, το είδαμε ως μια ευκαιρία να εισαγάγουμε τους αναγνώστες μας στο νέο περιβάλλον εκτέλεσης και να βοηθήσουμε όλους να καταλάβουν τι είναι όλο αυτό και πώς διαφέρει από την εικονική μηχανή Dalvik που Το ART χτίζεται για να αντικαταστήσει.

Τι είναι-ART_vs-Dalvik-Android-Runtime-περιβάλλον

Τι είναι ένα Runtime Περιβάλλον;

Πριν φτάσουμε στην απάντηση στην πραγματική ερώτηση,πρέπει να καταλάβουμε τι είναι πραγματικά ένα περιβάλλον χρόνου εκτέλεσης. Για να θέσετε απλούστερους όρους, το runtime περιλαμβάνει οδηγίες λογισμικού που εκτελούνται όταν το πρόγραμμά σας εκτελείται, ακόμα και αν δεν είναι ουσιαστικά μέρος του κώδικα αυτού του λογισμικού ειδικότερα. Αυτές οι οδηγίες βασικά μεταφράζουν τον κώδικα του λογισμικού στον κώδικα που μπορεί να τρέξει ο υπολογιστής. Επομένως, όλες οι γλώσσες υπολογιστών απαιτούν κάποιο είδος χρόνου εκτέλεσης που μπορεί να εκτελέσει σωστά τον κώδικα που είναι γραμμένος στη γλώσσα αυτή.

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

Για το Android, το χρόνο εκτέλεσης του εικονικού μηχανήματοςenvironemnt που χρησιμοποιείται μέχρι στιγμής είναι γνωστή ως Dalvik Virtual Machine, η οποία, είμαι βέβαιος ότι κάποιος που έχει βρεθεί ποτέ στις λεπτομέρειες του λειτουργικού συστήματος, είναι περισσότερο από εξοικειωμένος.

Γιατί να χρησιμοποιήσετε καθόλου μια εικονική μηχανή;

Αυτό είναι το σημείο που έχουμε αγγίξει ακριβώς πάνω. Οι εικονικές μηχανές είναι αργές, δεν υπάρχει καμία αμφιβολία ότι, αλλά στην πραγματικότητα κατέχουν μερικά πλεονεκτήματα που τους κάνουν μια ευνοημένη επιλογή.

  • Οι εικονικές μηχανές παρέχουν ένα απομονωμένο περιβάλλονγια την εκτέλεση κώδικα. Ως εκ τούτου, ακόμη και αν μια εφαρμογή περιέχει ένα κακόβουλο κομμάτι κώδικα που μπορεί να βλάψει το βασικό λειτουργικό σύστημα, δεν θα επηρεάσει άμεσα τα αρχεία συστήματος και συνεπώς το βασικό λειτουργικό σύστημα θα παραμείνει κατεστραμμένο. Το πλεονέκτημα μεγάλης κλίμακας είναι μεγαλύτερη σταθερότητα και αξιοπιστία για το λειτουργικό σύστημα.
  • Τα APK της εφαρμογής που παρέχονται μέσω του Play Store(ή οποιαδήποτε άλλη πηγή, για το θέμα αυτό) είναι μη συμπυκνωμένες οδηγίες που οι προγραμματιστές βασίζονται στην εικονική μηχανή για να μεταγλωττίσει πριν από την εκτέλεση και να τρέξει στη συσκευή. Αυτό παρέχει περισσότερη συμβατότητα. εάν ο προγραμματιστής έπρεπε να παράσχει ήδη compiled κώδικα και είχε συνταχθεί για έναν επεξεργαστή που βασίζεται σε Snapdragon, μπορεί να μην λειτουργεί σωστά σε τσιπ Tegra, για παράδειγμα. Επομένως, αυτή η συλλογή επί της συσκευής αντιμετωπίζει αυτό το ζήτημα.

Τι είναι ο Dalvik και τι είναι λάθος με αυτό;

Αυτό είναι το ερώτημα που τίθεται, έτσι δεν είναι; Ο Dalvik ξεκίνησε από το Android που ξεκίνησε το 2007 και δεν έχει αλλάξει πολύ από τότε, εκτός από την προσέγγιση προσέγγισης Just-In-Time (JIT) που παρουσιάστηκε στο Android 2.2 Froyo, το οποίο βασικά συντάσσει apps σωστά όταν είναι ή όταν ο χρήστης παρέχει τις απαραίτητες οδηγίες. Είναι χρήσιμο, καθώς και μια βελτίωση σε σχέση με την προηγούμενη συμβατική ερμηνευτική προσέγγιση που συνέλεξε και έτρεξε γραμμή κώδικα από γραμμή όπως έτρεξε, αλλά το μειονέκτημα είναι μια τεράστια επιβάρυνση όταν η εφαρμογή εκτελείται για πρώτη φορά.

Αυτό οφείλεται στο γεγονός ότι το σύστημα πρέπει να τραβήξει από κοινούόλα τα απαραίτητα αρχεία, να μεταγλωττίσετε την εφαρμογή και να την φορτώσετε στη μνήμη RAM. Όσο η σύνταξη της εφαρμογής παραμένει μέσα στη μνήμη RAM, θα συνεχίσει να ανταποκρίνεται γρήγορα, αλλά όταν φορτώνετε περισσότερες εφαρμογές και η μνήμη RAM τελειώνει, η πρώτη εκφορτώνεται και συνεπώς, με την επόμενη εκτόξευση, ξεκινάει ολόκληρη η διαδικασία. Η προσέγγιση έχει νόημα στο χαρτί και, στην πραγματικότητα, λειτουργεί μέχρι τώρα για την πλατφόρμα. Ωστόσο, οι παλαιότερες συσκευές με περιορισμένη μνήμη RAM υποφέρουν περισσότερο, επειδή ο κύκλος φόρτωσης / εκφόρτωσης συνεχίζει πιο συχνά και, ως εκ τούτου, το σύστημα αισθάνεται αργά όσον αφορά τη συνολική απόκριση. Εκεί έρχεται η νέα εικονική μηχανή ART.

Τι είναι η ART & πώς βελτιώνει τα πράγματα;

ART, ή Android RunTime (αρκετά κουμπωτό όνομα, ναι,γνωρίζουμε) είναι μια νέα πειραματική εικονική μηχανή που η Google έχει εισαγάγει με το Android 4.4 KitKat ως επιλογή προγραμματιστή (με τον Dalvik να είναι ο ορισμένος ως προεπιλογή για τώρα). Η κύρια διαφορά μεταξύ του ART και του Dalvik είναι η προσέγγιση της συλλογής που χρησιμοποιούν και οι δύο - το ART χρησιμοποιεί μια νέα αντίληψη Ahead-Of-Time (AOT) αντίθετη με το JIT του Dalvik, το οποίο βασικά συντάσσει εφαρμογές πριν ξεκινήσουν. Αυτό σημαίνει ότι η εγκατάσταση για πρώτη φορά θα διαρκέσει περισσότερο και οι εφαρμογές θα καταλαμβάνουν περισσότερο χώρο στο εσωτερικό αποθηκευτικό χώρο, αλλά ταυτόχρονα, καθώς η εφαρμογή θα ολοκληρωθεί αμέσως μόλις εγκατασταθεί, οι χρόνοι εκκίνησης θα είναι πολύ πιο γρήγοροι. Ομοίως, δεδομένου ότι το τμήμα σύνταξης φροντίζεται μόνο μία φορά κατά τη στιγμή της εγκατάστασης, η φορολόγηση του επεξεργαστή είναι χαμηλότερη, με αποτέλεσμα την καλύτερη διάρκεια ζωής της μπαταρίας και τη συνολική απόδοση.

Dalvik Vs. ART - Σύγκριση

Ας κάνουμε μια γρήγορη σύγκριση και των δύο εικονικών μηχανών πριν προχωρήσουμε.

Dalvik

ΤΕΧΝΗ

Χρησιμοποιεί προσέγγιση Just-In-Time (JIT), η οποία έχει ως αποτέλεσμα τη μείωση της κατανάλωσης χώρου αποθήκευσης αλλά και την αύξηση του χρόνου φόρτωσης της εφαρμογήςΧρησιμοποιεί προσέγγιση Ahead-Of-Time (AOT), η οποία συντάσσει εφαρμογές όταν εγκαθίστανται, με αποτέλεσμα ταχύτερους χρόνους φόρτωσης και χαμηλότερη χρήση επεξεργαστών
Η προσωρινή μνήμη δημιουργείται με την πάροδο του χρόνου, επομένως οι χρόνοι εκκίνησης είναι πιο γρήγοροιΗ προσωρινή μνήμη δημιουργείται κατά την πρώτη εκκίνηση, επομένως η επανεκκίνηση της συσκευής διαρκεί πολύ περισσότερο
Λειτουργεί καλύτερα για χαμηλότερες εσωτερικές συσκευές αποθήκευσης, καθώς ο χώρος που καταλαμβάνεται είναι μικρότεροςΚαταλαμβάνει πολύ περισσότερο εσωτερικό χώρο αποθήκευσης αφού αποθηκεύει μεταγλωττισμένες εφαρμογές εκτός από τα APK
Είναι σταθερό και δοκιμασμένο στο χρόνο - VM της επιλογής για τους προγραμματιστές εφαρμογώνΕίναι εξαιρετικά πειραματικό και νέο - δεν έχει μεγάλη υποστήριξη από τους προγραμματιστές εφαρμογών ακόμα

Λέτε ότι η ART είναι πειραματική ...

Ναι, και τώρα, είναι διαθέσιμο μόνο γιασυσκευές με chipsets Snapdragon και με Android 4.4 KitKat. Έχετε τη δυνατότητα να μεταβείτε από το Dalvik σε ART από τις κρυφές επιλογές προγραμματιστή, εάν το επιθυμείτε, αλλά θα πρέπει να ενημερώσετε ότι ορισμένες από τις εφαρμογές σας ενδέχεται να μην λειτουργούν σωστά. Επίσης, εάν υπάρχει μια προσωρινή μνήμη εφαρμογών που έχει ήδη δημιουργηθεί στο πλαίσιο του Dalvik, η πρώτη επανεκκίνηση μετά την πραγματοποίηση του διακόπτη μπορεί να διαρκέσει έως και μισή ώρα.

Η Google έχει κάνει κυρίως διαθέσιμη την ART μεKitKat για τους προγραμματιστές να παίξουν γύρω και να δημιουργήσουν τους λόγους για ένα μόνιμο διακόπτη στο μέλλον. Και αυτό σε καμία περίπτωση δεν σημαίνει ότι η ART είναι έτοιμη για χρήση σήμερα. Θα είναι στο μέλλον, αλλά προς το παρόν, είναι πειραματικό και δεν είναι κατάλληλο για καθημερινή χρήση από τον τελικό χρήστη.

Όσον αφορά τα οφέλη της ART, υπάρχουν μικτάΑναφορές. Για τους περισσότερους αναθεωρητές, οι συσκευές δοκιμής αποτελούνται από επεξεργαστές τετραπλού πυρήνα με πάνω από 2 συναυλίες μνήμης RAM, κάτι που είναι κάτι περισσότερο από επαρκές, ώστε να παρακολουθείται πραγματικά η ταχύτητα από την ART. Ακόμα, οι τυχαίοι χρήστες αναφέρουν κέρδη άνω του 50% σε ταχύτητα και πάνω από 30% στη διάρκεια ζωής της μπαταρίας. Ακόμα άλλοι ισχυρίζονται ότι δεν είναι τίποτα περισσότερο από ένα φαινόμενο placebo.

Σε κάθε δικαιοσύνη, τίποτα δεν μπορεί να ειπωθεί πριν από αυτόγίνεται διαθέσιμο στις μάζες και χάνει την πειραματική ετικέτα. Ως εκ τούτου, θα αποθηκεύσουμε αυτή τη συζήτηση για αργότερα. Αυτό που μπορεί να ειπωθεί σε αυτό το σημείο με βεβαιότητα είναι ότι η ART είναι το μέλλον. Το Google πρόκειται να προχωρήσει με τη σύνταξη του χρόνου, προκειμένου να ταιριάξει πραγματικά το iOS, είναι το μεγαλύτερο αντίγραφο του, και η ART πρόκειται να ανοίξει το δρόμο. Ανεξάρτητα από το πόσο ανόητο μπορεί να φαίνεται το όνομα ή πόσο ελλιπής είναι τώρα, θα συνεχίσουμε να βλέπουμε την ART όλο και περισσότερο.

Σχόλια