Linux-Team - Information Technology Forum - Ελληνικό Τεχνολογικό Φόρουμ


Μη Συνδεδεμενος Παρακαλώ συνδεθείτε ή εγγραφείτε

 Τι είναι το ART και πώς θα αλλάξει τις Android συσκευές;

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω  Μήνυμα [Σελίδα 1 από 1]

Δημοσίευση #1
 Dark-Avenger

Dark-Avenger
Forum Founder
Forum Founder
[Πρέπει να είστε εγγεγραμμένοι και συνδεδεμένοι για να δείτε αυτή την εικόνα.]

Το Android L αναμένεται να ανακοινωθεί σύντομα και ενώ προσφέρει πολλές σχεδιαστικές διαφοροποιήσεις, φέρνει και μια αρκετά μεγάλη αλλαγή στον τρόπο που «τρέχουν» οι εφαρμογές στις συσκευές. Η αλλαγή αφορά τη μετάβαση από το σύστημα Dalvik στο ART (Android Runtime). Τι είναι όμως αυτά τα συστήματα και γιατί η διαφορά αυτή είναι τόσο σημαντική; Πριν απαντηθούν αυτές οι ερωτήσεις πάντως, πρέπει να γνωρίζετε ότι οι έννοιες έχουν απλοποιηθεί προκειμένου να μπορούν να γίνουν πιο εύκολα αντιληπτές. Αν σας ενδιαφέρουν μόνο τα θετικά και τα αρνητικά που θα φέρει το ART μπορείτε να διαβάσετε μόνο την προτελευταία παράγραφο.

Κατ’ αρχήν  το Android, όπως και πολλά άλλα συστήματα, όταν ανοίγετε μια εφαρμογή την «τρέχει» μέσα σε μια εικονική μηχανή πάνω στο σύστημα σας. Γιατί το κάνει αυτό; Αυτό γίνεται για αρκετούς λόγους, από τους οποίους οι βασικότεροι είναι:

   Η εφαρμογή άμα δεν έτρεχε σε εικονική μηχανή θα έπρεπε ο προγραμματιστής να την ξαναγράψει ξεχωριστά για κάθε συσκευή που θα ήθελε να εγκατασταθεί η εφαρμογή.
   Σε περίπτωση που «κρασάρει» η εφαρμογή δεν θα πάθει κάτι η συσκευή στην οποία τρέχει.
   Η κάθε εφαρμογή είναι απομονωμένη από τις άλλες και άμα θέλει να αλληλεπιδράσει με αυτές πρέπει να ζητήσει άδεια κάνοντας το σύστημα πιο ασφαλές.

Η εικονική μηχανή που χρησιμοποιεί μέχρι τώρα το Android ήταν το Dalvik VM (virtual machine). Η μηχανή αυτή προκειμένου να μετατρέψει τον κώδικα μιας εφαρμογής σε γλώσσα που αντιλαμβάνεται το σύστημά της συσκευής χρησιμοποιούσε το JIT (Just-In-Time) compiler. Ουσιαστικά, ο τρόπος που λειτουργεί είναι ότι όταν εγκαθιστάτε την εφαρμογή ο κώδικας μετατρέπεται μερικώς σε μια γλώσσα που μπορεί να μετατραπεί ξανά, πιο εύκολα, σε γλώσσα μηχανής σε σχέση με την αρχική γλώσσα. Κάθε φορά που ανοίγετε μια εφαρμογή εκείνη την στιγμή μετατρέπει πλήρως τον κώδικα σε γλώσσα μηχανής.

Αυτός ο τρόπος δίνει το πλεονέκτημα στις εφαρμογές να χρησιμοποιούν λιγότερο χώρο αποθήκευσης κι έτσι οι Android εφαρμογές είναι πιο ελαφριές από αυτές του iOS. Έχει όμως το σημαντικό μειονέκτημα ότι επειδή πρέπει κάθε φορά που ανοίγετε την εφαρμογή να γίνει compile ο κώδικας θέλει περισσότερη επεξεργαστική ισχύ.

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

Ποια είναι τα θετικά και τα αρνητικά όμως της αντικατάστασης αυτής;

Τα θετικά είναι ότι επειδή θα απαιτούνται λιγότερες ενέργειες από τον επεξεργαστή προκειμένου να τρέξει μια εφαρμογή, οι εφαρμογές θα ανοίγουν πιο γρήγορα (ειδικά σε συσκευές με πιο αδύναμους επεξεργαστές), ότι θα γίνεται καλύτερη διαχείριση των πόρων της συσκευής, πιθανόν θα ανοίγει πιο γρήγορα η ίδια η συσκευή και τέλος μάλλον θα υπάρχει λιγότερη κατανάλωση ενέργειας. Το βασικό αρνητικό είναι ότι θα αυξηθεί ο χώρος που χρειάζεται για να γίνει η εγκατάσταση της κάθε εφαρμογής (από 10% έως 80%) και οι εφαρμογές πλέον θα έχουν περίπου το ίδιο βάρος με αυτό που έχουν στο iOS. Επίσης, θα απαιτούνται μερικά επιπλέον δευτερόλεπτα κατά την εγκατάσταση της εφαρμογής.

Μπορεί να έχετε δει κάποιο βίντεο που οι χρήστες άνοιγαν τις ίδιες εφαρμογές σε iPhone και σε συσκευές Android με καλύτερα χαρακτηριστικά και το iPhone τις άνοιγε πιο γρήγορα. Ο κύριος λόγος που συνέβαινε αυτό είναι ότι μέχρι τώρα η Google προσπαθούσε να εξοικονομήσει χώρο, όποτε προτιμούσε JIT compiler ενώ η Apple χρησιμοποιούσε AOT compiler που βελτιώνει τις επιδόσεις απαιτώντας όμως περισσότερο χώρο. Εφόσον, όμως οι χωρητικότητες των κινητών πλέον έχουν αυξηθεί αρκετά, η Google επέλεξε να κάνει την αλλαγή σε AOT compiler βελτιώνοντας έτσι τις επιδόσεις των συσκευών της. Λίγος καιρός έμεινε μέχρι την κυκλοφορία του Android L, είστε έτοιμοι να γνωρίσουμε επιτέλους όλες τις νέες δυνατότητες που θα μας προσφέρει;

Source: techingreek.com

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Επιστροφή στην κορυφή  Μήνυμα [Σελίδα 1 από 1]


Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης

Ωχ! Φαίνεται ότι κάτι πήγε στραβά ...

[#10425]

Ο διαχειριστής έχει μπλοκάρει την προβολή των θεμάτων στους επισκέπτες, μόνο τα μέλη μπορούν να δουν αυτό το πεδίο.


Χρήσιμοι Σύνδεσμοι: