Android 10 מבוססת על שלושה נושאים חשובים. ראשית, Android 10 מעצבת את חזית החדשנות בתחום המכשירים הניידים, עם למידת מכונה מתקדמת ותמיכה במכשירים חדשים כמו מכשירים מתקפלים וטלפונים עם תמיכה ב-5G. בנוסף, ב-Android 10 יש דגש מרכזי על פרטיות ואבטחה, עם כמעט 50 תכונות שמעניקות למשתמשים הגנה, שקיפות ושליטה רבות יותר. בנוסף, ב-Android 10 יש יותר אמצעי בקרה לשימוש חכם בדיגיטל, כדי שאנשים ומשפחות יוכלו למצוא את האיזון הנכון בשימוש בטכנולוגיה.
הנה סקירה של התכונות החדשות ב-Android 10 למפתחים ואיך אפשר להשתמש בהן כבר היום.
חדשנות וחוויות חדשות
ב-Android 10 אתם יכולים להשתמש בחידושים האחרונים בחומרה ובתוכנה כדי ליצור חוויות שימוש מדהימות באפליקציות.
ב-Android 10 אפשר לבצע אופטימיזציה של האפליקציות למכשירים מתקפלים ולמכשירים אחרים עם מסך גדול.
מכשירים מתקפלים
ב-Android 10 יש תמיכה חזקה בריבוי חלונות, שמאפשרת לבצע כמה פעולות במקביל בחלונות של אפליקציות שונות. בנוסף, יש המשכיות במסך, כך שמצב האפליקציה נשמר כשהמכשיר מקופל או פתוח. ב-Android 10 נוספו כמה שיפורים ב-onResume וב-onPause כדי לתמוך בפעילות מקבילה ולשלוח התראה לאפליקציה כשהיא נמצאת במוקד. הוא גם משנה את אופן הפעולה של מאפיין המניפסט resizeableActivity, כדי לעזור לכם לנהל את אופן הצגת האפליקציה במסכים מתקפלים ובמסכים גדולים. כדי לעזור לכם לפתח למכשירים מתקפלים, אתם יכולים להגדיר אמולטור מתקפל כמכשיר וירטואלי (AVD) ב-Android Studio. במדריך למפתחים מוסבר איך לבצע אופטימיזציה של האפליקציות למכשירים מתקפלים.
רשתות 5G
רשתות 5G מספקות מהירויות גבוהות יותר באופן עקבי וזמן אחזור קצר יותר. ב-Android 10 נוספה תמיכה בפלטפורמה ל-5G והורחבו ממשקי ה-API הקיימים כדי לעזור לכם לנצל את השיפורים האלה. אתם יכולים להשתמש בממשקי API של קישוריות כדי לזהות אם למכשיר יש חיבור עם רוחב פס גבוה, ולבדוק אם החיבור נמדד. בעזרתם, האפליקציות והמשחקים שלכם יכולים להתאים חוויות עשירות וסוחפות למשתמשים ב-5G.
תשובה מהירה בהתראות
ב-Android 10 נעשה שימוש ב-ML במכשיר כדי להציע פעולות לפי הקשר בהתראות, כמו תשובות מהירות להודעות או פתיחת מפה לכתובת שמופיעה בהתראה. האפליקציות שלכם יכולות להשתמש בתכונה הזו באופן מיידי, בלי שתצטרכו לעשות שום דבר. כברירת מחדל, המערכת מוסיפה תשובות מהירות ופעולות חכמות ישירות להתראות. אתם עדיין יכולים להוסיף תשובות ופעולות משלכם אם אתם רוצים. כדי לבטל את ההסכמה לשימוש בתשובה מהירה, צריך להשתמש ב-setAllowGeneratedReplies() וב-setAllowSystemGeneratedContextualActions() בכל התראה בנפרד.
התכונה "תשובה מהירה" יכולה להציע פעולות על סמך התוכן של ההתראה.
עיצוב כהה
ב-Android 10 יש עיצוב כהה לכל המערכת, שמתאים לתנאי תאורה חלשה ועוזר לחסוך בסוללה. המשתמשים יכולים להפעיל עיצוב כהה חדש לכל המערכת דרך ההגדרות או על ידי הפעלת מצב חיסכון בסוללה. הפעולה הזו משנה את ממשק המשתמש של המערכת לעיצוב כהה, ומפעילה את העיצוב הכהה באפליקציות שתומכות בו. אתם יכולים ליצור עיצוב כהה בהתאמה אישית לאפליקציה, או להצטרף לתכונה חדשה של הפעלה ידנית של מצב כהה שמאפשרת למערכת ליצור באופן דינמי גרסה כהה מהעיצוב הקיים. כדאי גם לנצל את התכונה DayNight של AppCompat כדי להציע עיצוב כהה למשתמשים בגרסאות קודמות של Android. מידע נוסף זמין במדריך למפתחים.
ב-Android 10 אפשר ליצור עיצוב כהה לאפליקציה באופן דינמי באמצעות הפעלה ידנית של מצב כהה.
ניווט באמצעות תנועות
בניווט באמצעות תנועות, האפליקציות יכולות להציג תוכן במסך מלא.
ב-Android 10 יש מצב ניווט חדש שמתבצע כולו באמצעות תנועות. במצב הזה, סרגל הניווט לא מוצג והאפליקציות יכולות להשתמש בכל המסך כדי לספק חוויות עשירות וסוחפות יותר. הוא שומר על הניווט המוכר של "חזרה", "דף הבית" ו"אפליקציות אחרונות" באמצעות החלקה מהקצה במקום כפתורים גלויים. כדי להשתלב בצורה חלקה עם ניווט באמצעות תנועות, האפליקציה צריכה להיות מקצה לקצה, ולצייר מאחורי סרגל הניווט כדי ליצור חוויה סוחפת. כדי להטמיע את זה, האפליקציות צריכות להשתמש ב-API setSystemUiVisibility() כדי להגדיר פריסה במסך מלא, ואז לטפל ב-WindowInsets לפי הצורך כדי לוודא שחלקים חשובים בממשק המשתמש לא מוסתרים. כדאי להתחיל לבצע אופטימיזציה של האפליקציה עוד היום. מידע נוסף זמין בסדרת הפוסטים בבלוג.
חלוניות ההגדרות
עכשיו אתם יכולים להציג הגדרות מערכת חשובות ישירות בהקשר של האפליקציה, באמצעות Settings Panel API חדש. חלונית הגדרות היא ממשק משתמש צף שאתם מפעילים כדי להציג הגדרות שהמשתמשים עשויים להזדקק להן, כמו קישוריות לאינטרנט, NFC ועוצמת קול. לדוגמה, דפדפן יכול להציג חלונית עם הגדרות קישוריות כמו מצב טיסה, Wi-Fi (כולל רשתות בקרבת מקום) וחבילת גלישה. כדי להציג חלונית הגדרות, פשוט מפעילים Intent עם אחת מפעולות Settings.Panel החדשות.
כפתורים לשיתוף מהיר
קיצורי דרך לשיתוף מאפשרים למשתמשים לעבור ישירות לאפליקציה אחרת כדי לשתף תוכן, וכך השיתוף מהיר וקל יותר. המפתחים יכולים לפרסם יעדי שיתוף שמפעילים פעילות ספציפית באפליקציות שלהם עם תוכן מצורף, והם מוצגים למשתמשים בממשק המשתמש של השיתוף. מכיוון שהם מתפרסמים מראש, ממשק המשתמש של השיתוף נטען באופן מיידי כשהוא מופעל. התכונה "כפתורים לשיתוף מהיר" דומה לתכונה "קיצורי דרך של אפליקציות" ומשתמשת באותו ShortcutInfo API. ה-API נתמך גם בספריית ShareTarget AndroidX. פרטים נוספים זמינים באפליקציה לדוגמה.
קיצורי דרך לשיתוף מאפשרים למשתמשים לעבור ישירות לפעילות ספציפית באפליקציות שלכם עם תוכן מצורף.
פרטיות המשתמשים
הפרטיות היא נושא מרכזי ב-Android 10, החל מהגנות חזקות יותר בפלטפורמה ועד לתכונות חדשות שתוכננו תוך התחשבות בפרטיות. בהמשך לגרסאות קודמות, Android 10 כוללת שינויים נרחבים להגנה על הפרטיות ולמתן שליטה רבה יותר למשתמשים, עם ממשק משתמש משופר של המערכת, הרשאות מחמירות יותר והגבלות על הנתונים שאפליקציות יכולות להשתמש בהם. במאמר שינויים בפרטיות מוסבר איך לתמוך בשינויים האלה באפליקציות שלכם.
עכשיו המשתמשים יכולים לבחור לתת גישה למיקום כשהאפליקציה פועלת בחזית.
מתן שליטה רבה יותר למשתמשים על נתוני המיקום – למשתמשים יש יותר שליטה על נתוני המיקום שלהם באמצעות אפשרות הרשאה חדשה – עכשיו הם יכולים לאפשר לאפליקציה לגשת למיקום רק כשהאפליקציה נמצאת בשימוש בפועל (פועלת בחזית). ברוב האפליקציות, רמת הגישה הזו מספיקה, ולמשתמשים היא מספקת שיפור משמעותי בשקיפות ובשליטה. מידע נוסף על שינויים במיקום זמין במדריך למפתחים או בפוסט בבלוג.
הגנה על נתוני מיקום בסריקות רשת – רוב ממשקי ה-API לסריקת רשתות כבר דרשו הרשאת מיקום משוער. ב-Android 10, ההגנה על ממשקי ה-API האלה משופרת, ונדרשת הרשאת מיקום מדויק.
מניעת מעקב אחר מכשירים – אפליקציות לא יכולות יותר לגשת למזהי מכשירים שלא ניתן לאפס, שניתן להשתמש בהם למעקב, כולל IMEI של המכשיר, מספר סידורי ומזהים דומים. כברירת מחדל, כתובת ה-MAC של המכשיר מוקצית באופן אקראי גם כשהוא מחובר לרשתות Wi-Fi. כדי לבחור את המזהים שמתאימים לתרחיש לדוגמה שלכם, כדאי לקרוא את השיטות המומלצות ואת הפרטים שמופיעים כאן.
אבטחת נתוני משתמשים באחסון חיצוני – ב-Android 10 יש כמה שינויים שנותנים למשתמשים יותר שליטה על קבצים באחסון חיצוני ועל נתוני האפליקציות שבהם. אפליקציות יכולות לאחסן קבצים משלהן בארגזי החול הפרטיים שלהן, אבל הן חייבות להשתמש ב-MediaStore כדי לגשת לקובצי מדיה משותפים, ולהשתמש בכלי לבחירת קבצים של המערכת כדי לגשת לקבצים משותפים באוסף ההורדות החדש. מידע נוסף
חסימת הפרעות לא רצויות – ב-Android 10, אפליקציות לא יכולות לעבור באופן בלתי צפוי מהרקע לחזית ולהפריע לשימוש באפליקציה אחרת. מידע נוסף
אבטחה
ב-Android 10 יש מספר תכונות שמשפרות את אבטחת המשתמשים באמצעות הצפנה מתקדמת, הקשחת הפלטפורמה ואימות. מידע נוסף על עדכוני האבטחה של Android 10
הצפנת אחסון – כל המכשירים התואמים שמושקים עם Android מגרסה 10 מחויבים להצפין את נתוני המשתמשים. כדי לייעל את התהליך, Android מגרסה 10 כוללת את Adiantum, מצב ההצפנה החדש שלנו.
TLS 1.3 כברירת מחדל – ב-Android 10 מופעל גם TLS 1.3 כברירת מחדל. זו גרסה משמעותית של תקן TLS עם יתרונות בביצועים ואבטחה משופרת.
הקשחת הפלטפורמה – Android 10 כוללת גם הקשחה של כמה אזורים קריטיים לאבטחה בפלטפורמה.
זיהוי ביומטרי משופר – ב-Android 10, מסגרת BiometricPrompt הורחבה כדי לתמוך בשיטות אימות פסיביות כמו זיהוי פנים, ונוספו תהליכי אימות מרומזים ומפורשים. בתהליך המפורש, המשתמש חייב לאשר באופן מפורש את העסקה ב-TEE במהלך האימות. זרם הענקת הגישה המשתמע נועד לשמש כחלופה קלה יותר לעסקאות עם אימות פסיבי. ב-Android מגרסה 10 יש גם שיפור של ברירת המחדל לפרטי הכניסה של המכשיר, במקרה הצורך. מידע נוסף
מצלמה ומדיה
עומק דינמי לתמונות
עכשיו אפליקציות יכולות לבקש תמונת עומק דינמי, שמורכבת מ-JPEG, מטא-נתונים של XMP שקשורים לרכיבים שקשורים לעומק, וממפת עומק ומהימנות שמוטמעת באותו קובץ. הם מאפשרים לכם להציע באפליקציה אפשרויות מיוחדות של טשטוש ואפקט בוקה. עומק דינמי הוא פורמט פתוח לסביבה העסקית, ואנחנו עובדים עם השותפים שלנו כדי להביא אותו למכשירים עם Android בגרסה 10 ואילך.
בעזרת תמונת עומק דינמי, אפשר להציע אפשרויות מיוחדות של טשטוש ואפקט בוקה באפליקציה.
הקלטת הפעלת אודיו
עכשיו כל אפליקציה שמפעילה אודיו יכולה לאפשר לאפליקציות אחרות לתעד את שידור האודיו שלה באמצעות ממשק API חדש לתיעוד הפעלת אודיו. בנוסף להפעלת כתוביות, ה-API מאפשר לתמוך בתרחישים נפוצים כמו סטרימינג בשידור חי של משחקים. פיתחנו את היכולת החדשה הזו תוך התחשבות בפרטיות ובהגנה על זכויות יוצרים, כך שהיכולת של אפליקציה להקליט אודיו של אפליקציה אחרת מוגבלת, ולאפליקציות יש שליטה מלאה על האפשרות להקליט את שידורי האודיו שלהן. לפוסט בבלוג עם מידע נוסף
קודקים חדשים של אודיו ווידאו
ב-Android 10 נוספה תמיכה ב-codec של וידאו בקוד פתוח, AV1, שמאפשר לספקי מדיה להעביר תוכן וידאו באיכות גבוהה למכשירי Android תוך שימוש ברוחב פס קטן יותר. בנוסף, Android 10 תומכת בקידוד אודיו באמצעות Opus – קודק פתוח ללא תמלוגים שמותאם לסטרימינג של דיבור ומוזיקה – וב-HDR10+ לווידאו בטווח דינמי גבוה במכשירים שתומכים בכך. MediaCodecInfo API מציג דרך קלה יותר לקבוע את יכולות עיבוד הווידאו של מכשיר Android. לכל קודק נתון, אתם יכולים לקבל רשימה של גדלים וקצבי פריימים נתמכים.
Native MIDI API
באפליקציות שבהן עיבוד האודיו מתבצע ב-C++, ב-Android 10 יש ממשק API מקורי של MIDI לתקשורת עם מכשירי MIDI דרך ה-NDK. ה-API הזה מאפשר לאחזר נתוני MIDI בתוך קריאה חוזרת (callback) של אודיו באמצעות קריאת חסימה, וכך לעבד הודעות MIDI עם זמן אחזור קצר. אתם יכולים לנסות את האפליקציה לדוגמה ואת קוד המקור כאן.
מיקרופונים כיווניים עם זום
ב-Android 10 יש לכם יותר שליטה על הקלטת האודיו באמצעות ממשק API חדש של MicrophoneDirection. אתם יכולים להשתמש ב-API כדי לציין את הכיוון המועדף של המיקרופון כשאתם מקליטים אודיו. לדוגמה, כשהמשתמש מצלם סרטון סלפי, אתם יכולים לבקש את המיקרופון הקדמי להקלטת אודיו (אם הוא קיים). בנוסף, ה-API הזה מציג דרך סטנדרטית לשלוט במיקרופונים עם זום, ומאפשר לאפליקציה לשלוט בממד של שדה ההקלטה.
Vulkan בכל מקום
ב-Android 10, ההשפעה של Vulkan הורחבה באמצעות ההטמעה שלנו של ממשק ה-API בפלטפורמות שונות עם תקורה נמוכה לגרפיקה תלת-ממדית עם ביצועים גבוהים. עכשיו Vulkan 1.1 הוא דרישה בכל מכשירי 64 ביט עם Android מגרסה 10 ומעלה, והמלצה לכל מכשירי 32 ביט. אנחנו כבר רואים תנופה משמעותית בתמיכה ב-Vulkan בסביבה העסקית – 53% מהמכשירים עם Android N ומעלה תומכים ב-Vulkan מגרסה 1.0.3 ומעלה. אנחנו מצפים שהדרישה החדשה ב-Android 10 תגביר את השימוש בתכונה בשנה הקרובה.
קישוריות
קישוריות משופרת לאינטרנט ולרשתות P2P
שינינו את המבנה של מחסנית ה-Wi-Fi כדי לשפר את הפרטיות והביצועים, וגם כדי לשפר תרחישים נפוצים כמו ניהול מכשירי IoT והצעת חיבורים לאינטרנט – בלי לדרוש הרשאת מיקום. ממשקי ה-API לחיבור לרשת מאפשרים לנהל בקלות מכשירי IoT דרך רשת Wi-Fi מקומית, לפונקציות של רשתות שכנות (P2P) כמו הגדרה, הורדה או הדפסה. ממשקי ה-API להצעות לרשתות מאפשרים לאפליקציות להציג למשתמשים רשתות Wi-Fi מועדפות לחיבור לאינטרנט.
מצבי ביצועים של Wi-Fi
אפליקציות יכולות עכשיו לבקש Wi-Fi דינמי על ידי הפעלת מצבי ביצועים גבוהים וזמן אחזור קצר.
הם יכולים להועיל מאוד במקרים שבהם זמן אחזור קצר חשוב לחוויית המשתמש, כמו משחקים בזמן אמת, שיחות טלפון פעילות ומקרים דומים. הפלטפורמה פועלת עם קושחת המכשיר כדי לעמוד בדרישה עם צריכת החשמל הנמוכה ביותר. כדי להשתמש במצבי הביצועים החדשים, צריך להפעיל את WifiManager.WifiLock.createWifiLock() עם WIFI_MODE_FULL_LOW_LATENCY או WIFI_MODE_FULL_HIGH_PERF. במצבים האלה, הפלטפורמה פועלת עם הקושחה של המכשיר כדי לעמוד בדרישה עם צריכת החשמל הנמוכה ביותר.
יסודות Android
אופטימיזציות של ART
השיפורים בסביבת זמן הריצה של ART עוזרים לאפליקציות לפעול מהר יותר, לצרוך פחות זיכרון ולפעול בצורה חלקה יותר – בלי שתצטרכו לעשות שום דבר. פרופילי ART שמועברים על ידי Google Play מאפשרים ל-ART לבצע הידור מראש של חלקים מהאפליקציה עוד לפני שהיא מופעלת. בזמן הריצה, Android 10 מוסיפה את Generational Garbage Collection ל-Concurrent Copying (CC) Garbage Collector של ART כדי לייעל את איסוף האשפה מבחינת זמן ו-CPU, להפחית את הקיטועים ולעזור לאפליקציות לפעול טוב יותר במכשירים פחות מתקדמים.
בתרשים הזה מוצג אחוז השיפור בזמן ההפעלה של אפליקציות ספציפיות, שנבדקו באמצעות פרופילים של Play.
Neural Networks API 1.2
הוספנו 60 פעולות חדשות, כולל ARGMAX, ARGMIN, quantized LSTM, לצד מגוון אופטימיזציות של ביצועים. זה הבסיס להאצת מגוון רחב יותר של מודלים, כמו זיהוי אובייקטים וחלוקת תמונות למקטעים. אנחנו עובדים עם ספקי חומרה ועם מסגרות פופולריות של למידת מכונה, כמו TensorFlow, כדי לבצע אופטימיזציה ולהשיק תמיכה ב-NNAPI 1.2.
Thermal API
כשהמכשירים מתחממים מדי, הם עלולים להגביל את המעבד (CPU) או את המעבד הגרפי (GPU), וזה יכול להשפיע על אפליקציות ומשחקים בדרכים לא צפויות. ב-Android 10, אפליקציות ומשחקים יכולים להשתמש ב- API תרמי כדי לעקוב אחרי שינויים במכשיר ולבצע פעולות שיעזרו להחזיר את הטמפרטורה לרמה הרגילה. לדוגמה, אפליקציות סטרימינג יכולות להפחית את הרזולוציה, את קצב העברת הנתונים או את התנועה ברשת, אפליקציית מצלמה יכולה להשבית את הפלאש או את שיפור התמונה האינטנסיבי, ומשחק יכול להפחית את קצב הפריימים או את ריצוף המצולעים. מידע נוסף
תאימות באמצעות ממשקי API ציבוריים
ב-Android 10 ממשיכים להרחיב את ההגבלות על ממשקים שאינם SDK, כדי שהאפליקציות יעברו בהדרגה לשימוש בממשקי API ציבוריים בלבד. אם ממשק שאתם משתמשים בו כרגע מוגבל, אתם יכולים לבקש ממשק API ציבורי חדש לממשק הזה. כדי לעזור לכם לבצע את המעבר ולמנוע תקלות באפליקציות, אנחנו מפעילים את ההגבלות רק כשהאפליקציה מטרגטת את Android 10 (API 29). פרטים נוספים על ההגבלות זמינים במדריך למפתחים.
עדכונים מהירים יותר, קוד עדכני יותר
מערכת Android 10 מיועדת לעדכונים מהירים יותר באמצעות Project Treble, שמספק ממשק עקבי וניתן לבדיקה בין Android לבין קוד המכשיר הבסיסי של יצרני המכשירים ויצרני הסיליקון. באמצעות Treble, יצרני מכשירים יכולים להביא את Android 10 למכשירים שתואמים ל-Treble במהירות רבה יותר ובעלות נמוכה יותר.
Android 10 היא גם הגרסה הראשונה שתומכת ב-Project Mainline (שנקראת באופן רשמי עדכוני מערכת של Google Play), הטכנולוגיה החדשה שלנו לאבטחת משתמשי Android ולשמירה על עדכניות המכשירים שלהם באמצעות שינויי קוד חשובים – ישירות מ-Google Play. עדכוני המערכת של Google Play מאפשרים לנו לעדכן רכיבים פנימיים ספציפיים בכל המכשירים עם Android בגרסה 10 ואילך, בלי שצריך עדכון מערכת מלא מיצרן המכשיר.
אנחנו מצפים שהעדכונים האלה ב-Android 10 יעזרו למפתחים לשמור על עקביות בהטמעה של הפלטפורמה במכשירים שונים, ועם הזמן יביאו לאחידות רבה יותר שתפחית את עלויות הפיתוח והבדיקה.
שנתחיל?
באתר developer.android.com/10 יש מקורות מידע מלאים למפתחים ל-Android 10.
