ב-Android 16 יש פיצ'רים חדשים וממשקי API חדשים למפתחים. בקטעים הבאים מפורט סיכום של התכונות האלה, כדי לעזור לכם להתחיל להשתמש בממשקי ה-API הרלוונטיים.
כדאי גם לבדוק אילו שינויים בפלטפורמה עשויים להשפיע על האפליקציות שלכם. למידע נוסף, ראו את הדפים הבאים:
- שינויים בהתנהגות שמשפיעים על אפליקציות שמטרגטות ל-Android 16
- שינויים בהתנהגות שמשפיעים על כל האפליקציות ללא קשר ל-
targetSdkVersion
.
פונקציונליות עיקרית
Android כולל ממשקי API חדשים שמרחיבים את היכולות המרכזיות של מערכת Android.
שתי גרסאות של Android API בשנת 2025
- התצוגה המקדימה הזו מיועדת לגרסה הראשית הבאה של Android, שתושק ברבעון השני של שנת 2025. הגרסה הזו דומה לכל הגרסאות הקודמות של ה-API, שבהן יכולים להיות שינויים מתוכננים בהתנהגות, שקשורים לרוב ל-targetSdkVersion.
- אנחנו מתכננים את הגרסה הראשית רבעון מוקדם יותר (ברבעון השני במקום ברבעון השלישי בשנים קודמות), כדי להתאים את לוח הזמנים שלה ללוח הזמנים של השקות המכשירים בסביבה העסקית שלנו, וכך יותר מכשירים יוכלו לקבל את הגרסה הראשית של Android מוקדם יותר. הגרסה העיקרית תשוחרר ברבעון השני של השנה, ולכן תצטרכו לבצע את בדיקת התאימות השנתית כמה חודשים מוקדם יותר מאשר בשנים קודמות כדי לוודא שהאפליקציות שלכם מוכנות.
- אנחנו מתכננים להשיק גרסה נוספת ברבעון 4 של שנת 2025, שגם תכלול ממשקי API חדשים למפתחים. הגרסה הראשית של הרבעון השני תהיה הגרסה היחידה בשנת 2025 שתכלול שינויים מתוכננים בהתנהגות שעשויים להשפיע על אפליקציות.
בנוסף לממשקי API חדשים למפתחים, במהדורה המשנית של הרבעון הרביעי יהיו עדכוני תכונות, אופטימיזציות ותיקוני באגים. היא לא תכלול שינויים בהתנהגות שמשפיעים על האפליקציות.
נמשיך להשיק גרסאות של Android מדי רבעון. העדכונים ברבעון הראשון וברבעון השלישי, בין הגרסאות של ה-API, יסופקו כעדכונים מצטברים כדי להבטיח איכות מתמשכת. אנחנו פועלים באופן פעיל עם שותפי המכשירים שלנו כדי להביא את הגרסה שתושק ברבעון השני לכמה שיותר מכשירים.
שימוש בממשקי API חדשים עם גרסאות ראשיות ומשנה
היום אפשר להגן על בלוק קוד באמצעות בדיקה של רמת ה-API באמצעות הקבוע SDK_INT
עם VERSION_CODES
. התמיכה באפשרות הזו תמשיך לפעול בגרסאות הראשיות של Android.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
אפשר להשתמש בערך הקבוע החדש SDK_INT_FULL
לבדיקות API גם לגרסאות ראשיות וגם לגרסאות משניות באמצעות המניין החדש VERSION_CODES_FULL
.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
אפשר גם להשתמש ב-method Build.getMinorSdkVersion()
כדי לקבל רק את גרסת ה-SDK המשנית.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
ממשקי ה-API האלה עדיין לא הושלמו ועשויים להשתנות, לכן אם יש לכם חששות, תוכלו לשלוח לנו משוב.
חוויית משתמש וממשק המשתמש של המערכת
Android 16 מעניק למפתחי אפליקציות ולמשתמשים יותר שליטה וגמישות בהגדרת המכשיר בהתאם לצרכים שלהם.
עדכונים של חיזוי החזרה
ב-Android 16 נוספו ממשקי API חדשים שיעזרו לכם להפעיל אנימציות מערכת חזרה חזויות בניווט באמצעות תנועות, כמו אנימציה של חזרה לדף הבית. רישום ה-onBackInvokedCallback
באמצעות PRIORITY_SYSTEM_NAVIGATION_OBSERVER
החדש מאפשר לאפליקציה לקבל את הקריאה הרגילה onBackInvoked
בכל פעם שהמערכת מטפלת בניווט לאחור, בלי להשפיע על תהליך הניווט לאחור הרגיל.
ב-Android 16 נוספו גם הסמלים finishAndRemoveTaskCallback()
ו-moveTaskToBackCallback
. כשרושמים את הפונקציות האלה באמצעות OnBackInvokedDispatcher
, המערכת יכולה להפעיל התנהגויות ספציפיות ולהפעיל אנימציות מתאימות מראש כשמפעילים את תנועת החזרה.
משוב פיזי עשיר יותר
מערכת Android חשפה שליטה על המפעיל הרטט כבר מההתחלה.
ב-Android 11 נוספה תמיכה באפקטים הקטנים והחושתיים (haptic) מורכבים יותר, שיכולים לתמוך במפעילים מתקדמים יותר באמצעות VibrationEffect.Compositions
של פרימיטיבים סמנטיים מוגדרים-מכשיר.
ב-Android 16 נוספו ממשקי API לחישה שמאפשרים לאפליקציות להגדיר את עקומות האמפליטודה והתדר של אפקטים לחושיים, תוך התעלמות מהבדלים בין יכולות המכשירים.
ביצועים וסוללה
ב-Android 16 נוספו ממשקי API שיעזרו לכם לאסוף תובנות על האפליקציות שלכם.
יצירת פרופילים שמופעל על ידי המערכת
ProfilingManager
נוסף ב-Android 15, ומאפשר לאפליקציות לבקש איסוף נתונים ליצירת פרופילים באמצעות Perfetto במכשירים ציבוריים בשטח.
עם זאת, מאחר שצריך להתחיל את הפרופיל הזה מהאפליקציה, לאפליקציות יהיה קשה או בלתי אפשרי לתעד תהליכים קריטיים כמו הפעלות או אירועי ANR.
כדי לעזור בכך, ב-Android 16 הוספנו ל-ProfilingManager
פרופיל שמופעל על ידי המערכת. אפליקציות יכולות להירשם לקבלת מעקבים של טריגרים מסוימים, כמו הפעלה מחדש (cold start) reportFullyDrawn
או אירועי ANR, ואז המערכת מתחילה ומפסיקה מעקב בשם האפליקציה. בסיום המעקב, התוצאות מועברות לספריית הנתונים של האפליקציה.
הפעלת רכיב ב-ApplicationStartInfo
ApplicationStartInfo
נוסף ב-Android 15, ומאפשר לאפליקציה לראות את הסיבות להתחלת התהליך, סוג ההתחלה, זמני ההתחלה, הגבלת הקצב ונתוני אבחון שימושיים אחרים. ב-Android 16 נוספה הערך getStartComponent()
כדי להבדיל בין סוגי הרכיבים שהפעילו את ההפעלה. הערך הזה יכול לעזור לכם לבצע אופטימיזציה לתהליך ההפעלה של האפליקציה.
בדיקה עצמית טובה יותר של משימות
ה-API של JobScheduler#getPendingJobReason()
מחזיר את הסיבה לכך שמשימת
עשויה להמתין. עם זאת, יכולות להיות כמה סיבות לכך שמשימה נמצאת בהמתנה.
ב-Android 16 אנחנו משיקים ממשק API חדש, JobScheduler#getPendingJobReasons(int jobId)
, שמציג כמה סיבות לכך שמשימה נמצאת בהמתנה, גם בגלל אילוצים מפורשים שהמפתח הגדיר וגם בגלל אילוצים משתמעים שהמערכת הגדירה.
אנחנו גם משיקים את הפונקציה JobScheduler#getPendingJobReasonsHistory(int jobId)
, שמחזירה רשימה של השינויים האחרונים באילוצים.
מומלץ להשתמש ב-API כדי לנפות באגים ולגלות למה המשימות לא מתבצעות, במיוחד אם נתוני ההצלחה של משימות מסוימות נמוכים או אם יש באגים בזמן האחזור של משימות מסוימות. לדוגמה, העדכון של הווידג'טים ברקע נכשל או שהקריאה למשימה של אחסון נתונים לפני האצת האפליקציה נכשלה לפני הפעלת האפליקציה.
כך תוכלו גם להבין טוב יותר אם משימות מסוימות לא מסתיימות בגלל אילוצים שהוגדרו על ידי המערכת, לעומת אילוצים שהוגדרו באופן מפורש.
קצב רענון דינמי
שיעור הרענון המותאם (ARR), שהוצג ב-Android 15, מאפשר לשיעור הרענון של המסך בחומרה נתמכת להתאים את עצמו לשיעור הפריימים של התוכן באמצעות שלבים נפרדים של VSync. כך אפשר לצמצם את צריכת החשמל ולחסוך את הצורך במעבר בין המצבים, שעלול לגרום לתנודות בפריימים.
ב-Android 16 נוספו hasArrSupport()
ו-getSuggestedFrameRate(int)
, תוך שחזור של getSupportedRefreshRates()
, כדי שיהיה קל יותר לאפליקציות שלכם לנצל את ARR. RecyclerView 1.4 תומך באופן פנימי ב-ARR כשהוא מתייצב אחרי תנועה מהירה או גלילה חלקה, ואנחנו ממשיכים לעבוד כדי להוסיף תמיכה ב-ARR לספריות נוספות של Jetpack. במאמר הזה מוסבר על הרבה ממשקי API שאפשר להשתמש בהם כדי להגדיר את קצב הפריימים, כך שהאפליקציה תוכל להשתמש ישירות ב-ARR.
קישוריות
ב-Android 16 מתבצע עדכון לפלטפורמה כדי לתת לאפליקציה שלכם גישה להתקדמות האחרונה בתחומי התקשורת והטכנולוגיות האלחוטיות.
מדידת מרחק עם אבטחה משופרת
ב-Android 16 נוספה תמיכה בתכונות אבטחה חזקות במיקום Wi-Fi במכשירים נתמכים עם 802.11az של Wi-Fi 6. התכונות האלה מאפשרות לאפליקציות לשלב בין הדיוק הגבוה יותר, יכולת ההתאמה לעומס הגדולה יותר והתזמון הדינמי של הפרוטוקול עם שיפורים באבטחה, כולל הצפנה מבוססת AES-256 והגנה מפני התקפות MITM. כך אפשר להשתמש בה בבטחה רבה יותר בתרחישי שימוש בסביבה הקרובה, כמו ביטול הנעילה של מחשב נייד או של דלת רכב. 802.11az משתלב בתקן Wi-Fi 6, ומשתמש בתשתית וביכולות שלו כדי לאפשר הטמעה רחבה יותר ופריסה קלה יותר.
מדיה
Android 16 כולל מגוון תכונות לשיפור חוויית השימוש במדיה.
שיפורים בכלי לבחירת תמונות
הכלי לבחירת תמונות מספק למשתמשים דרך מובנית ובטוחה להעניק לאפליקציה גישה לתמונות ולסרטונים שנבחרו, גם מהאחסון המקומי וגם מהענן, במקום לגישה לכל ספריית המדיה שלהם. באמצעות שילוב של רכיבי מערכת מודולריים דרך Google System Updates ו-Google Play Services, התכונה נתמכת כבר מ-Android 4.4 (רמת API 19). לשילוב נדרשות רק כמה שורות קוד עם ספריית Android Jetpack המשויכת.
ב-Android 16 נוספו לשולחן הבחירה של התמונות השיפורים הבאים:
- בורר תמונות מוטמע: ממשקי API חדשים שמאפשרים לאפליקציות להטמיע את הבורר בתוך היררכיית התצוגה שלהן. כך הוא מרגיש כמו חלק משולב יותר באפליקציה, ועדיין מנצל את בידוד התהליכים שמאפשר למשתמשים לבחור מדיה בלי שהאפליקציה תצטרך הרשאות רחבות מדי. כדי למקסם את התאימות לגרסאות השונות של הפלטפורמה ולפשט את השילוב, אם אתם רוצים לשלב את הכלי המוטמע לבחירת תמונות, כדאי להשתמש בספרייה העתידית של Android Jetpack.
- חיפוש בענן בבורר התמונות: ממשקי API חדשים שמאפשרים חיפוש מספק המדיה בענן בבורר התמונות של Android. בקרוב נוסיף פונקציית חיפוש לבורר התמונות.
פרטיות
מערכת Android 16 כוללת מגוון תכונות שיעזרו למפתחי אפליקציות להגן על הפרטיות של המשתמשים.
עדכונים של Health Connect
בגרסת Health Connect שזמינה למפתחים נוספה האפשרות ACTIVITY_INTENSITY
, סוג נתונים חדש שמוגדר בהתאם להנחיות של ארגון הבריאות העולמי לגבי פעילות מתונה ופעילות מאומצת. בכל רשומה צריך לציין את שעת ההתחלה, שעת הסיום ואת מידת העצימות של הפעילות (מתונה או נמרצת).
Health Connect מכילה גם ממשקי API מעודכנים שתומכים בתיעוד רפואי. כך אפליקציות יכולות לקרוא ולכתוב תיעוד רפואי בפורמט FHIR עם הסכמה מפורשת של המשתמש. ממשק ה-API הזה נמצא בתוכנית גישה מוקדמת. אם אתם רוצים להשתתף, עליכם להירשם לתוכנית הגישה המוקדמת.
ארגז החול לפרטיות ב-Android
גרסת Android 16 כוללת את הגרסה העדכנית ביותר של ארגז החול לפרטיות ב-Android, כחלק מהעבודה המתמשכת שלנו לפיתוח טכנולוגיות שמאפשרות למשתמשים לדעת שהפרטיות שלהם מוגנת. באתר שלנו יש מידע נוסף על 'ארגז החול לפרטיות' בתוכנית הבטא למפתחי Android, שיעזור לכם להתחיל. כדאי לבדוק את זמן הריצה ל-SDK, שמאפשר לערכות SDK לפעול בסביבת זמן ריצה ייעודית בנפרד מהאפליקציה שבה הן פועלות, ומספק אמצעי הגנה חזקים יותר בנושא איסוף ושיתוף של נתוני משתמשים.