עבור לתוכן

מערכת אנדרואיד היא אמולציה לעומת ios וווינדוס פון שהן עובדות ישר על החומרה. שאלה

Featured Replies

פורסם

היי אני מקווה שמישהו פה יוכל לענות לי על השאלה

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

http://hwzone.co.il/gadgets/articles/Ubuntu_For_Smartphones_Editorial/2

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

תודה על התשובה ואשמח גם אם יש למישהו הפניה לחומר קריאה בנושא

פורסם

הניסוח שם טיפה מטעה.

מערכת ההפעלה עצמה רצה ישירות על החומרה (כידוע, מערכת אנדרויד מבוססת על לינוקס שכתובה ב-C, ומתממשקת ישירות עם החומרה).

האפליקציות עצמן כתובות ורצות ב-Java. ג'אווה זו שפה שאף פעם לא רצה ישירות על החומרה, אלא תמיד על גבי מכונה וירטואלית (ה-Java Virtual Machine). היתרון העיקרי של זה הוא היותה Cross-Platform - אותה תוכנה בדיוק יכולה לרוץ על כל מחשב שמסוגל להריץ Java. באופן הזה אפשר להריץ כל אפליקציה על (כמעט) כל מכשיר שמריץ אנדרויד, לא משנה איזה מעבד יש לו. החסרון (שאגב, מוטל בספק) הוא שה-JVM צורך תיאורטית יותר משאבים מריצה ישירות על המעבד, ולכן יש דרישה לחומרה יותר חזקה.

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

פורסם
  • מחבר

תודה רבה!!

זה ממש סיקרן אותי...

אני אנסה לחפש עוד חומר בגוגל :)

פורסם

אני קצת ארחיב את התשובה של שניצל (קשה להישאר רציני אחרי שאומרים משפט כזה),

כמו שהוא אמר אפליקציות באנדרואיד כתובות בJAVA ולא רצות ישירות על המעבד אלא על וירטואל מאשין בשם דלביק (Delvik), שזה וירטואל מאשין ייחודי לאנדרואיד, עם בייט קוד משלו.

לכתיבה בJAVA באנדרואיד יש מספר חסרונות כמו שהוזכר למעלה ביצועים, אך יש דברים ספציפיים לאנדרואיד שהם ממש בעיתיים. אחד מהדברים זה GC (Garbage collection), שפעמים רבות תוקע את הUI ט'רד ויש שטוענים שהרינדור של הגרפיקה הוא לא אופטימלי.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים