- - מהי ART וכיצד היא שונה ממכונה וירטואלית של Dalvik באנדרואיד?

מה זה ART וכיצד זה שונה ממכונה וירטואלית של Dalvik באנדרואיד?

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

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

מה-זה-ART_vs-Dalvik-Android-Runtime-סביבות

מהי סביבת זמן ריצה?

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

אנדרואיד עושה שימוש במכונה וירטואלית כשלהסביבת זמן ריצה כדי להריץ את קבצי ה- APK המהווים יישום אנדרואיד. היתרון בשימוש במכונה וירטואלית הוא כפול - ראשית, קוד האפליקציה מבודד ממערכת ההפעלה הליבה, ומבטיח שאם משהו ישתבש, הוא כלול בסביבה מבודדת ואינו משפיע על מערכת ההפעלה הראשית. ושנית, היא מאפשרת תאימות צולבת, כלומר אפילו אם אפליקציה מורכבת בפלטפורמה אחרת (כמו מחשב אישי, כפי שקורה בדרך כלל בפיתוח אפליקציות סלולריות), עדיין ניתן לבצע אותם בפלטפורמה הניידת באמצעות המכונה הווירטואלית. .

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

מדוע בכלל להשתמש במכונה וירטואלית?

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

  • מכונות וירטואליות מספקות סביבה מבודדתלביצוע קוד. לפיכך, גם אם אפליקציה מכילה פיסת קוד זדונית שעלולה לפגוע במערכת ההפעלה הליבה, היא לא תשפיע ישירות על קבצי המערכת, וכך מערכת ההפעלה הליבה לא תיפגם. היתרון בקנה מידה גדול הוא יציבות ואמינות יותר עבור מערכת ההפעלה.
  • אפליקציות ה- APK המסופקות דרך חנות Play(או כל מקור אחר, לצורך העניין) הן הוראות שלא מורכבות שהמפתחים סומכים על המחשב הווירטואלי שיערוך לפני הביצוע והפעלתו במכשיר. זה מספק תאימות רבה יותר; אם המפתח היה מספק קוד שהורכב כבר והוא נערך עבור מעבד מבוסס Snapdragon, יתכן שהוא לא יפעל נכון על שבב Tegra, למשל. לפיכך, אוסף זה במכשיר מטפל בבעיה זו.

אז מה Dalvik, ומה לא בסדר עם זה?

זו השאלה שצריך לשאול, לא? דלוויק היה שם מאז שהתחילה אנדרואיד עוד בשנת 2007, והיא לא השתנתה הרבה מאז, מלבד גישת ההערכה Just-In-Time (JIT) שהוצגה ב- Android 2.2 Froyo, שבעצם מהווה אפליקציות ממש כשהם שהושק, או כאשר המשתמש מספק את ההוראות הנחוצות. זה שימושי, כמו גם שיפור ביחס לגישת המתורגמן הקונבנציונלית הקודמת, שחיברה והפעילה קוד שורה אחר שורה בזמן שהיא רצה, אבל החיסרון הוא תקורה אדירה כאשר האפליקציה מושקת לראשונה.

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

מה זה ART וכיצד הוא משפר את הדברים?

ART, או Android RunTime (שם די צולע, כן,אנו יודעים) היא מכונה וירטואלית ניסיונית חדשה שגוגל הציגה עם אנדרואיד 4.4 KitKat כאפשרות מפתחים (כאשר דלוויק היא עדיין ההגדרה כברירת מחדל לעת עתה). ההבדל העיקרי בין ART לדאלוויק הוא גישת ההדרכה שמשתמשים בשני אלה - ART מנצלת קונספט Ahead-Of-Time חדש (AOT) בניגוד ל- JIT של Dalvik, שבעצם מהדר אפליקציות עוד לפני שהושקו. משמעות הדבר היא שהתקנות לראשונה ייקחו זמן רב יותר, ואפליקציות יתפוס מקום רב יותר באחסון פנימי, אך יחד עם זאת, מכיוון שהאפליקציה תורכב במלואה ברגע שהיא תותקן, זמני ההשקה יהיו הרבה יותר מהירים. באופן דומה, מכיוון שחלק ההרכבה מטופל רק פעם אחת בזמן ההתקנה, מיסוי המעבדים נמוך יותר, מה שמביא לחיי סוללה טובים יותר וביצועים כוללים.

דלוויק נגד. ART - השוואה

בואו נעשה השוואה מהירה של שתי המכונות הווירטואליות לפני שנמשיך קדימה.

דלוויק

אומנות

עושה שימוש בגישה Just-In-Time (JIT), מה שמביא לצריכת שטח אחסון נמוכה יותר אך זמני טעינת אפליקציות ארוכים יותרמשתמש בגישת AOT-of-Time (AOT), המאגדת אפליקציות כאשר הן מותקנות, וכתוצאה מכך זמני טעינה מהירים יותר ושימוש נמוך יותר במעבד.
מטמון מתפתח עם הזמן, כך שזמני האתחול הם מהירים יותרהקובץ השמור נבנה בעת האתחול הראשון, ומכאן שההפעלה מחדש של המכשיר נמשכת זמן רב משמעותית
עובד טוב יותר למכשירי אחסון פנימיים נמוכים יותר מכיוון שהשטח תפוס פחותצורכת שטח אחסון פנימי הרבה יותר מכיוון שהיא מאחסנת אפליקציות מורכבות בנוסף ל- APKs
הוא יציב ונבדק זמן - VM לפי בחירה עבור מפתחי אפליקציותהוא מאוד ניסיוני וחדש - עדיין לא הרבה תמיכה ממפתחי אפליקציות

אתה אומר ש- ART הוא ניסיוני ...

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

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

לגבי היתרונות של ART, ישנם מעורביםדיווחים. עבור מרבית הסוקרים, מכשירי הבדיקה כוללים מעבדים מרובעי ליבות עם מעל 2 הופעות זיכרון RAM, המהווה התקנה מספקת יותר בכדי לראות באמת את עליות המהירות של ART. ועדיין, משתמשים אקראיים מדווחים על עליות של 50% במהירות ויותר מ -30% בחיי הסוללה. אחרים טוענים שזה לא יותר מאשר אפקט פלצבו.

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

הערות