Logo el.androidermagazine.com
Logo el.androidermagazine.com

Android a to z: τι είναι το dalvik

Anonim

Τι είναι ο Dalvik; Ακούμε ότι αυτή η λέξη παίρνει γύρω από πολλά στο Διαδίκτυο όταν μιλάμε για το Android και την εσωτερική λειτουργία του. Παρόλο που δεν υπάρχει εύκολη εξήγηση που μπορούμε να δώσουμε σε λίγες παραγράφους, μπορούμε να καλύψουμε τα βασικά στοιχεία και να σας προσανατολίσουμε προς τη σωστή κατεύθυνση αν χρειαστεί να τροφοδοτήσετε την ανόητη πλευρά σας. Με τους απλούστερους όρους του, ο Dalvik είναι μια εικονική μηχανή που εκτελεί εφαρμογές και κώδικα γραμμένο σε Java. Ένας πρότυπος μεταγλωττιστής Java μετατρέπει τον πηγαίο κώδικα (γραμμένο ως αρχεία κειμένου) στο Bytecode και στη συνέχεια μεταγλωττίζεται σε ένα αρχείο.dex το οποίο μπορεί να διαβάσει και να χρησιμοποιήσει το Dalvik VM. Στην ουσία, τα αρχεία κατηγορίας μετατρέπονται σε αρχεία.dex (παρόμοια με αυτά ενός αρχείου βάζας αν χρησιμοποιούσατε το πρότυπο Java VM) και στη συνέχεια διαβάσαμε και εκτελέσαμε το Dalvik Virtual Machine. Τα διπλά δεδομένα που χρησιμοποιούνται στα αρχεία κατηγορίας περιλαμβάνονται μόνο μία φορά στην έξοδο.dex, η οποία εξοικονομεί χώρο και χρησιμοποιεί λιγότερα έξοδα. Τα εκτελέσιμα αρχεία μπορούν να τροποποιηθούν ξανά όταν εγκαταστήσετε μια εφαρμογή για να κάνετε τα πράγματα ακόμη πιο βελτιστοποιημένα για κινητά. Πράγματα όπως η εναλλαγή παραγγελιών byte και η σύνδεση των δομών δεδομένων και των βιβλιοθηκών λειτουργιών σε σειρά καθιστούν τα αρχεία μικρότερα και λειτουργούν καλύτερα στις συσκευές μας. Το Dalvik VM γράφτηκε από το τετράγωνο ένα με το Android στο μυαλό.

Μπερδευτήκατε ακόμα; Μην αισθάνεστε άσχημα, μιλήστε με τον προγραμματισμό του Google. Σκεφτείτε το με αυτόν τον τρόπο - όταν δημιουργείτε μια εφαρμογή Java για τον υπολογιστή σας, μια εικονική μηχανή Java εκτελεί τη σύνθετη έξοδο του πηγαίου κώδικα. Αυτός είναι ο λόγος για τον οποίο η Java λειτουργεί σχεδόν σε οποιοδήποτε λειτουργικό σύστημα. Το Dalvik είναι μια βελτιστοποιημένη για κινητά έκδοση μιας εικονικής μηχανής Java, κατασκευασμένη με κώδικα από το έργο Apache Harmony, το οποίο είναι ανοικτού κώδικα και τρέχει καλύτερα από ένα τυπικό Java VM στο περιορισμένο υλικό μας, σχεδιασμένο έτσι ώστε να μπορείτε να τρέχετε περισσότερα από ένα παράδειγμα του VM κάθε φορά - δηλαδή, multitasking. Επειδή ο Dalvik είναι ανοιχτού κώδικα, έχει επίσης μεταφερθεί σε άλλα λειτουργικά συστήματα, όπως στο BlackBerry PlayBook. Είναι πολύ περίεργο περίπλοκο, πολύ χαλαρό, και η Oracle (η εταιρεία που αγόρασε την Java από τον Sun) την μισεί.

Το Android χρησιμοποιεί το Dalvik επειδή, ενώ η άδεια για την τυπική Java Virtual Machine είναι GPL2 (ελεύθερη και ανοιχτού κώδικα), όταν τοποθετείται σε μια κινητή συσκευή και χρησιμοποιεί τη Java Micro Edition, δεν είναι. Η μεγάλη διαμάχη μεταξύ της Google και της Oracle βασίζεται στο Dalvik. Η Google ισχυρίζεται ότι γράφτηκε σε περιβάλλον "καθαρού δωματίου" χωρίς να χρησιμοποιεί κανένα από τους κώδικες της Oracle και η Oracle διαφωνεί. Υποστηρίζουμε ότι δεν έχουμε ιδέα, είμαστε χαρούμενοι που λειτουργεί τόσο καλά όσο κάνει.