צלילה לתוך KitKat: הכירו את ART


פורסם ב 10/11/2013 ע"י Elad Leev - אלעד ליב

אחרי אין-ספור כתבות על KitKat ועל יכולות המערכת החדישות נדמה שיש נושא אחד שלא הוזכר כמעט בכלל- ART.
גוגל הכניסה את ART כמחליף נסיוני לDalvik אשר היה קיים עד היום כחלק מרכזי במערכת האנדרואיד שלנו, כאשר ART מגיע "מכובה" וניתן להחליף את השימוש מDalvik לART דרך מסך המפתחים.

מה זה Dalvik אתם שואלים?
Dalvik- המכונה הוירטואלית (VM) של אנדרואיד. בגדול, Dalvik הוא חלק מרכזי באנדרואיד, הוא הVM אשר מריץ את כל האפליקציות במכשיר שלנו והוא המקביל לVM של ג'אווה אשר רץ על מחשבים אישים רק בנוי לאנדרואיד בקוד פתוח (חלק מApache Harmony project) . לרוב אפליקציות כתובת בJava, והם מורצות על הDalvik אשר ממיר אותם מקלאסים של ג'אווה (.class), אל Bytecode (בינארית אם תרצו) ומשם מומר ל.dex (דומה מאוד לקבצי jar המוכרים) – אשר יכול לרוץ ולהיקרא ע"י Dalvik. כלומר- התרגום נעשה בצורה דינאמית כל הזמן- דבר אשר גוזל משאבים (זמן מעבד וזיכרון) וסוללה.

אז מה זה ART ובמה הוא כ"כ שונה מDalvik?
החל מגרסאת KitKat גוגל החליטה להביא למפתחים את האופציה לנסות את הVM החדש ART במקום Dalvik אשר בו נעשה שימוש עד עכשיו.
ART (או בשמו המלא Android Run Time), עובד שונה מDalvik. כאשר אנדרואיד עובד עם Dalvik בכל פעם שהמשתמש מריץ אפליקציה מוקם VM (בדומה למה שהוסבר למעלה) ומבצע את כל הפעולה (בשפה המקצועית- עובד בשיטת JIT-Just-In-Time), כאשר נבחר להשתמש בART אפליקציות אשר נתקין מראש יעבור תהליך המרה ויהפכו את הקוד של האפליקציה לקוד אשר כביכול נרשם ישירות למעבד שלנו, ולא יבצע המרה כל פעם מחדש (בשפה המקצועית AOT-Ahead-Of-Time).
כמו שאתם מבינים שימוש בART יכול לחסוך זמן עיבוד, שימוש בזיכרון וצריכה סוללה בצורה דרסטית ולקצר את זמן עליית האפליקציות בצורה משמעותית (על פי בדיקת שונות ברשת ביצועי אפליקציה טובים ב50-70 אחוז יותר (!) )

מצויין! אז בוא כולנו נעבור לART!-
אז זהו, שלא.
גוגל בעצמה מזהירה שהשימוש בART לא מומלץ למשתמשים סטנדרטים אלא רק למפתחים אשר רוצים לנסות את ART, השימוש בART עלול לפגוע בחלק מהאפליקציות והוא נימצא כעת בחיתולים בלבד.
חסירון נוסף בשימוש בART נובע מאופן עבודתו- ההמרה לbytecode חוסכת מקום על המכשיר ומעבר לשימוש בART יגרור גדילה של עד 20% מגודל האפליקציה על המכשיר.
ההמרה לART לוקחת זמן רב- תדמיינו לעצמכם המרה של כ100 אפליקציות (לדוגמא כאשר נחליף בפעם הראשונה לART) או המרה של אפליקציה כבדה כמו משחקים למיניהם ואפליקציות כמו גוגל+ ופייסבוק- יקחו זמן יקר אחרי הורדתם

לסיכום,
לדעתי המעבר לART מבורך. היתרונות עולות על החסרונות ואני מצפה שגוגל יעבדו במלוא המרץ לפתור את כל החסרונות שיש לART על מנת להחליף את Dalvik ולשפר את מערכת האנדרואיד בצורה דרסטית.
במידה ואתם רוצים לקחת חלק מART (על אחריותכם בלבד) היכנסו למסך המפתחים > ביחרו ב"Select runtime" ושנו לART. קחו בחשבון שהמכשיר יבצע בוט ויקח לו מס' דקות (אני מאמין שכחצי שעה ומעלה) להמיר את כל האפליקציות לART.

מידע נוסף על ART בAndroid Developers.

FacebookTwitterGoogle+EmailPinterestWhatsAppLinkedInשתפו אותי

מתכנת Web, מעצב גרפי, גוגולהוליק, מאוהב באנדרואיד ובקהילת הקוד הפתוח. פעיל בקידום האנדרואיד בישראל ומאמין שלינוקס זה דרך חיים. הכתב, המתכנת, המעצב והאיש סיסטם של הפורטל!

6 Comments

  1. dimiboy
    10/11/2013 בשעה 21:43

    אהבתי את המינוס שעשית לפיסבוק לצד גוגל+….

  2. koko0
    10/11/2013 בשעה 21:56

    לא יזיק לכתב להבין קצת באיך מתקמפל .dex ומה זה jit לפני שהוא אומר שטויות.
    קבצי java עוברים המרה לdex עוד לפני שהם הופכים לapk, זה ממש לא קורה בזמן ריצה.
    art פשוט לוקחת את אותו dex, והופכת אותו לקוד native בזמן ההתקנה, מה שיוצר זמני טעינה מהירים יותר (בעצם עושה את אותה פעולה שהjit עושה רק בזמן ההתקנה).

  3. yizhaq79
    yizhaq79
    11/11/2013 בשעה 10:46

    יש לזכור להתקין GAPPS שהם ODEX על מנת להשתמש בART, אחרת תקבלו שגיאות בממשק משתמש ובעצם לא תצליחו להפעיל את המכשיר.

  4. האם הגרסא הבאה של אנדרואיד תשמש בART? | iAndroid – האנדרואיד של גוגל – בעברית !
    20/06/2014 בשעה 17:43

    […] בנובמבר שעבר, הציגה גוגל יחד עם מערכת ההפעלה KitKat את סביבת הריצה חדשה ART (ר"ת של Android Run Time), והביאה למשתמשים אפשרות לנסות אותה. להזכירכם – ההבדל בינהם הוא שDalvik מקמפלת את הקוד בזמן הריצה לאומת ART אשר מקמפלת את הקוד לאחר התקנת האפליקציה. על פי עדכון אשר עלה אתמול לפרויקט הקוד הפתוח של אנדרואיד (AOSP – Android Open Source Project), נראה כי גוגל מתכוונת להרוג את סביבת הריצה הקודמת Dalvik אשר ליוותה אותנו עוד מיומה הראשון של אנדרואיד ולהחליפה בART. […]

  5. Android 5 הוכרז! הכירו את Lollipop - iAndroid
    15/10/2014 בשעה 21:58

    […] בעצם תודות ל ART,חיי הסוללה וביצועי מכשיר שרבים חלמו זמן ארוך לקבל,ישיגו זאת עם ה Runtime החדש ויציע נתונים כפולים משל ה Dalvik. למידע מורחב על ה ART והבדליהם,לחץ כאן. […]

להגיב