סקירה כללית על תכונות וממשקי API

מערכת Android 13 כוללת תכונות וממשקי API חדשים ונהדרים למפתחים. בקטעים הבאים תוכלו ללמוד על התכונות של האפליקציות שלכם ולהתחיל להשתמש בממשקי ה-API הקשורים.

בדוח ההבדלים של ממשקי ה-API תוכלו למצוא רשימה מפורטת של ממשקי API חדשים, משופרים והוסרו. פרטים על ממשקי API חדשים אפשר למצוא בחומר העזר בנושא API של Android – ממשקי API חדשים מודגשים לצורך חשיפה. בנוסף, כדי לקבל מידע על תחומים שבהם שינויים בפלטפורמה עשויים להשפיע על האפליקציות שלכם, כדאי לבדוק את השינויים בהתנהגות של Android 13 באפליקציות שמטרגטות את Android 13 ובכל האפליקציות.

כלים ודרכים לשיפור הפרודוקטיביות של מפתחים

סמלים של אפליקציות בעיצובים

משתמש שמביע הסכמה לשימוש בסמלים מעוצבים של אפליקציות
איך מאשרים את השימוש בסמלי אפליקציות לפי נושא ב-Android 13

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

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

מסך הבית לא מציג את הסמל של האפליקציה המעוצבת, אלא את הסמל של האפליקציה המותאמת או את סמל האפליקציה הרגיל, בכל אחד מהתרחישים הבאים:

  • אם המשתמש לא הפעיל סמלי אפליקציות מעוצבים
  • אם לאפליקציה שלכם אין סמל אפליקציה מונוכרומטי
  • אם מרכז האפליקציות לא תומך בסמלי אפליקציות מעוצבים

לפרטים נוספים והוראות, ראו סמלים מותאמים.

העדפות שפה לכל אפליקציה

שפות לכל אפליקציה בהגדרות המערכת

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

  • הגדרות מערכת: מיקום מרוכז שבו המשתמשים יכולים לבחור את השפה המועדפת לכל אפליקציה.

    כדי להודיע למערכת שהאפליקציה תומכת בכמה שפות, צריך להצהיר על המאפיין android:localeConfig במניפסט של האפליקציה. למידע נוסף, כדאי לעיין בהוראות ליצירת קובץ משאבים והצהרה עליו בקובץ המניפסט של האפליקציה.

  • ממשקי API נוספים: ממשקי ה-API הציבוריים האלה, כמו ה-methods setApplicationLocales() ו-getApplicationLocales() ב-LocaleManager, מאפשרים לאפליקציות להגדיר שפה שונה משפת המערכת בזמן הריצה.

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

    לצורך תאימות לאחור עם גרסאות קודמות של Android, אפשר להשתמש גם בממשקי API מקבילים ב-AndroidX. מומלץ להשתמש בממשקי ה-API שנוספו בגרסה Appcompat 1.6.0-beta01 ואילך.

אפליקציות שלא תומכות במספר שפות לא יושפעו מהשינויים האלה.

תמיכה משופרת בטקסט ובשפות

ב-Android 13 יש כמה תכונות של שיפורי טקסט ושפה שיעזרו לכם לספק חוויה מלוטשת יותר, לפי התיאורים הבאים:

מקף מהיר יותר

הוספת מקפים מאפשרת לקרוא טקסט שמקופל בקלות רבה יותר, ומאפשרת לממשק המשתמש להתאים את עצמו טוב יותר. החל מ-Android 13, הביצועים של הממקפים עוברים אופטימיזציה בשיעור של עד 200%, כך שאפשר להפעיל אותם ב-TextView כמעט בלי השפעה על ביצועי הרינדור. כדי להפעיל מקף מהיר יותר, צריך להשתמש בתדרים fullFast או normalFast ב-setHyphenationFrequency().

ממשקי API להמרת טקסט

אנשים שמדברים בשפות כמו יפנית וסינית משתמשים בשיטות להזנת תווים פונטיים, שבדרך כלל מאטות את החיפוש ותכונות כמו השלמה אוטומטית. ב-Android 13, אפליקציות יכולות להפעיל את Text Conversion API החדש כדי שמשתמשים יוכלו למצוא את מה שהם מחפשים מהר יותר ובקלות רבה יותר. לדוגמה, בעבר משתמשים ביפן היו צריכים לבצע את הפעולות הבאות כדי לבצע חיפוש:

  1. להזין היגאנה כהגייה הפונטית של מונח החיפוש (למשל מקום או שם אפליקציה)
  2. שימוש במקלדת כדי להמיר את התווים של היפנית לסימני קאנג'י
  3. חיפוש בעזרת תווי קאנג'י
  4. ולבסוף מקבלים את תוצאות החיפוש

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

גובה משופר של שורות בסקריפטים לא לטיניים

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

גובה שורות שנחתכו ב-Android 12 (למעלה) שנמצאים עכשיו במיקום טוב יותר ולא נחתכו ב-Android 13 (למטה).

גלישת טקסט משופרת ביפנית

החל מגרסה 13 של Android, אפשר להשתמש ב-TextViews כדי לחלק טקסט לפי Bunsetsu (היחידה הקטנה ביותר של מילים שנשמעת טבעית) או לפי ביטויים, במקום לפי תו, כדי ליצור אפליקציות יפניות שמנוהלות בצורה טובה יותר וקל יותר לקרוא אותן. אפשר לנצל את האריזה הזו באמצעות android:lineBreakWordStyle="phrase" עם TextViews.

גלישת טקסט ביפנית עם סגנון ביטוי מופעל (למטה) וללא (למעלה).

עדכונים בספריית Unicode

ב-Android 13 נוספו השיפורים, התיקונים והשינויים האחרונים שכלולים ב-Unicode ICU 70, ב-Unicode CLDR 40 וב-Unicode 14.0.

ריכזנו כאן כמה שינויים חשובים:

  • בשפות אנגלית (קנדה) en‑CA ואנגלית (הרפובליקה של הפיליפינים) en‑PH, אם אין משאבי תרגום זמינים, המערכת משתמשת במשאבי התרגום של אנגלית (ארה"ב) en במקום משאבי התרגום של אנגלית (בריטניה) en‑GB.
  • קטגוריית הרבים many נוספה לספרדית es, לאיטלקית it, לפורטוגזית pt ולפורטוגזית (פורטוגל) pt‑PT. כמו בצרפתית, שהושקה בגרסה CLDR v38, השיטה הזו משמשת למספרים גדולים.

גופנים וקטוריים צבעוניים

אמוג'י וקטור של COLRv1 (שמאל) ואמוג'י בפורמט ביטים (ימין)

החל מ-Android 13, המערכת כוללת תמיכה בעיבוד גופני COLR מגרסה 1 (COLRv1) ומעדכנת את סמלי האמוג'י של המערכת לפורמט COLRv1. COLRv1 הוא פורמט גופן קומפקטי מאוד שמוצג במהירות ובקלות בכל גודל.

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

מידע נוסף על COLRv1 זמין במקורות המידע הבאים:

הגדרות מהירות של מיקום API

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

תיבת דו-שיח שבה המשתמש מתבקש להוסיף לחצן להגדרות המהירות.

תצוגה מקדימה של הלוח

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

  • מאשר שהתוכן הועתק בהצלחה.
  • כאן אפשר לראות תצוגה מקדימה של התוכן שהועתק.

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

הווידג&#39;ט &#39;העתקה והדבקה&#39;
ממשק משתמש חדש שמוצג כשתוכן נכנס ללוח.

חיזוי תנועת החזרה

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

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

Bluetooth LE Audio

Low Energy (LE) Audio הוא אודיו אלחוטי שנועד להחליף את Bluetooth הקלאסי ולאפשר תרחישים לדוגמה וטופולוגיות מסוימות של חיבור. היא מאפשרת למשתמשים לשתף ולשדר את האודיו לחברים ולבני משפחה, או להירשם לשידורים ציבוריים לקבלת מידע, בידור או נגישות. השירות נועד להבטיח שהמשתמשים יוכלו לקבל אודיו באיכות גבוהה בלי לפגוע בחיי הסוללה, ולעבור בצורה חלקה בין תרחישי שימוש שונים שלא זמינים במסגרת Bluetooth Classic. החל מגרסה 13 של Android, המערכת כוללת תמיכה מובנית ב-LE Audio, כך שהמפתחים מקבלים את היכולות האלה בחינם במכשירים תואמים.

MIDI 2.0

החל מגרסה 13 של Android, המערכת כוללת תמיכה בתקן MIDI 2.0, כולל אפשרות לחבר חומרת MIDI 2.0 באמצעות USB. תקן זה מציע תכונות כמו רזולוציה גבוהה יותר לבקרים, תמיכה טובה יותר באינטונציה לא מערבית וביצועים אקספרסיביים יותר באמצעות בקרים לכל הערה.

שיפורים ביעילות של מסך הפתיחה

ב-Android 13 משופר היעילות של מסכי פתיחה מונפשים ב-SplashScreen API:

  • המערכת מסיקה את משך האנימציה ישירות מ-AnimatedVectorDrawable. לפני Android 13, היה צורך להגדיר את windowSplashScreenAnimationDuration ישירות.

  • אתם יכולים להשתמש במאפיין החדש windowSplashScreenBehavior כדי לקבוע אם הסמל של האפליקציה יוצג תמיד במסך הפתיחה ב-Android 13 ואילך.

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

אופטימיזציות ART

ב-Android מגרסה 13 (API ברמה 33) ואילך, ART הופך את המעבר לקוד מקורי ואת ממנו מהר יותר, וקריאות JNI זמינות עכשיו פי 2.5 מהר יותר. העיבוד של קובצי עזר של זמן ריצה עבר עיבוד כדי למנוע את החסימה שלו, מה שמקטין עוד יותר את בעיות הקוד (jank). בנוסף, תוכלו להשתמש ב-API הציבורי Reference.refersTo() כדי להחזיר אובייקטים שלא ניתן לגשת אליהם מוקדם יותר, ותראו שעכשיו התרגום מהיר יותר בזכות חיפושי מחלקות ושיטות שעברו אופטימיזציה. ART גם מבצע אימות של קוד בייט יותר בזמן ההתקנה, כדי להימנע מעלויות האימות בזמן הריצה ומבטיח שזמני ההפעלה של האפליקציה יהיו מהירים.

פרטיות ואבטחה

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

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

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

בורר התמונות

Android בגרסה 13 (רמת API 33) ואילך כולל חוויה של בורר תמונות. כשהאפליקציה מפעילה את הכלי לבחירת תמונות, המשתמשים בוחרים תמונות וסרטונים ספציפיים לשיתוף עם האפליקציה, כמו תמונות פרופיל, במקום לתת לאפליקציה גישה לצפייה בכל ספריית המדיה. זוהי הדרך המומלצת לגשת לתמונות ולסרטונים של המשתמש.

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

הרשאה חדשה בסביבת זמן הריצה למכשירי Wi-Fi בקרבת מקום

ב-Android 13 (רמת API 33) נוספה הרשאת זמן ריצה חדשה בקבוצת ההרשאות NEARBY_DEVICES לאפליקציות שמנהלות את החיבורים של המכשיר לנקודות גישה בקרבת מקום באמצעות Wi-Fi. האפליקציות האלה צריכות להצהיר על ההרשאה החדשה, NEARBY_WIFI_DEVICES, כשהן קוראות למספר ממשקי API שונים של Wi-Fi. בנוסף, כל עוד האפליקציות לא מסיקה את המיקום הפיזי מממשקי ה-API של ה-Wi-Fi, הן לא צריכות להצהיר על ההרשאה ACCESS_FINE_LOCATION כשהן מטרגטות ל-Android 13 ואילך.

מידע נוסף על ההרשאה למכשירי Wi-Fi בקרבת מקום

הרשאה חדשה להשתמש בהתראות מדויקות

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

  • האפליקציה שלך היא אפליקציית שעון מעורר או אפליקציית טיימר.
  • האפליקציה היא אפליקציית יומן שמציגה התראות על אירועים קרובים.

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

הסרת הרשאות מפתחים

החל מ-Android 13, האפליקציה יכולה לבטל את הגישה להרשאות בסביבת זמן הריצה שלא בשימוש. ה-API הזה מאפשר לאפליקציה לבצע משימות לשיפור הפרטיות, כמו:

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

APK Signature Scheme גרסה 3.1

ב-Android 13 נוספה תמיכה ב-APK Signature Scheme v3.1, מה שמשפר את APK Signature Scheme v3 הקיים. התוכנית הזו מטפלת בחלק מהבעיות הידועות שקשורות ל-APK Signature Scheme v3 בנוגע לכיוון. באופן ספציפי, הסכימה של החתימה בגרסה 3.1 תומכת בטירגוט של גרסת SDK, שמאפשרת לבצע רוטציה לגרסת הפלטפורמה העדכנית יותר.

סכימת החתימה v3.1 משתמשת במזהה בלוק שלא מזוהה ב-12L או פחות. לכן, הפלטפורמה מחילה את התנהגות החתימה הבאה:

  • במכשירים עם Android 13 ואילך נעשה שימוש בחותם המסובב בבלוק של גרסה 3.1.
  • במכשירים עם גרסאות ישנות יותר של Android, המערכת מתעלמת מהחתימה המנוהלת ומשתמשת במקום זאת בחתימה המקורית בבלוק v3.0.

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

אפליקציות שכבר התבצעו רוטציה ורוצים להמשיך להשתמש במפתח החתימה המסובב שלהן בבלוק החתימה v3.0, צריך לעדכן את ההפעלה של apksigner:

apksigner sign --ks keystore.jks |
  --key key.pk8 --cert cert.x509.pem
  --rotation-min-sdk-version API_LEVEL
  [signer_options] app-name.apk

...כאשר API_LEVEL הוא 32 ומטה.

דיווח טוב יותר על שגיאות ב-Keystore וב-KeyMint

באפליקציות שיוצרות מפתחות, מערכת Keystore ו-KeyMint מספקות עכשיו אינדיקטורים מפורטים ומדויקים יותר לשגיאות. הוספנו היררכיית כיתות של חריגים בקטע java.security.ProviderException, עם חריגים ספציפיים ל-Android שכוללים קודי שגיאה של Keystore/KeyMint, וגם את האפשרות לנסות שוב את הפעולה אם נתקלת בשגיאה. אפשר גם לשנות את השיטות ליצירת מפתחות ולשימוש בהם (חתימה, הצפנה) כדי לגרום לחריגות החדשות. הדיווח המשופר על שגיאות לא מוגבל ליצירת מפתחות, ועכשיו הוא אמור לספק לכם את מה שדרוש כדי לנסות שוב ליצור מפתחות.

תמיכה בטאבלטים ובמסכים גדולים

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

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

גרפיקה

גופים מטילי צל שניתנים לתכנות

כלי ההצללה (shader) מונפש של AGSL, מותאם מ-GLSL Shader הזה.

החל מ-Android 13, המערכת כוללת תמיכה באובייקטים RuntimeShader שניתנים לתכנות, וההתנהגות שלהם מוגדרת באמצעות Android Graphics Shading Language (AGSL). AGSL משתף הרבה מהסינטקס שלו עם GLSL, אבל פועל במסגרת מנוע הרינדור של Android כדי להתאים אישית את הציור בתוך לוח הציור של Android, וגם לסנן את תוכן התצוגה. מערכת Android משתמשת באופן פנימי בתוכנות ההצללה האלה כדי להטמיע אפקטים של גלים, טשטוש ומתיחות יתר של גלילה. ב-Android 13 ואילך אפשר ליצור אפקטים מתקדמים דומים לאפליקציה.

שיפורים בכוריאוגרפיה

ב-Android 13 נוספו שיטות API ציבוריות ל-Choreographer ול-ASurfaceControl, שמספקות לאפליקציות מידע נוסף על לוחות הזמנים האפשריים של הפריימים, ומוסיפות הקשר נוסף ל-SurfaceFlinger לגבי מחזור החיים של הפריימים. כמו קודם, אפליקציות יכולות לפרסם קריאה חוזרת (callback) ל-Choreographer ולקבל מידע על ציר הזמן של הפריים. ב-Android 13 (רמת API 33), הפונקציה Choreographer מחזירה כמה זמני הצגה אפשריים ואת מועדי ההגשה של הפריימים התואמים. האפליקציות יכולות לבחור את מועד הצגת הנתונים, ולאחר מכן לעדכן את SurfaceFlinger לגבי הבחירה. SurfaceFlinger לא ינסה להחיל עסקאות או מאגרי נעילה לפני זמן ההצגה הרצוי.

אם האפליקציה שלכם משתמשת בשיטות החדשות של Choreographer ו-SurfaceControl, תוכלו לראות את מחזור החיים של המסגרות באפליקציה ב-Perfetto trace.

מצלמה

צילום וידאו HDR

החל מ-Android 13, ממשקי ה-API של Camera2 תומכים בצילום וידאו בעל טווח דינמי גבוה (HDR), המאפשר לצפות בתצוגה מקדימה של תוכן וידאו באיכות HDR ולהקליט אותו באמצעות המצלמה. בהשוואה לטווח דינמי סטנדרטי (SDR), איכות ה-HDR מציעה מגוון רחב יותר של צבעים ומגדילה את הטווח הדינמי של רכיב ההארה (מ-100cd/m2 הנוכחי ל-1,000s של cd/m2). התוצאה היא איכות וידאו דומה יותר בעולם האמיתי, עם צבעים עשירים יותר, אזורים בהירים יותר וצלליות כהות יותר.

מידע נוסף על צילום וידאו ב-HDR זמין במאמר צילום וידאו ב-HDR.

מדיה

אודיו מרחבי

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

ניתוב אודיו צפוי

כדי לעזור לאפליקציות מדיה לזהות את האופן שבו מתבצע ניתוב האודיו שלהן, Android 13 כולל ממשקי API של נתיבי אודיו במחלקה AudioManager. ה-API getAudioDevicesForAttributes() מאפשר לאחזר רשימה של מכשירים שיכולים לשמש להפעלת אודיו שצוין, וה-API getDirectProfilesForAttributes() עוזר לכם להבין אם אפשר להפעיל את שידור האודיו באופן ישיר. עליכם להשתמש בממשקי ה-API האלה כדי לקבוע איזה AudioFormat הכי מתאים לטראק של האודיו שלכם.

נגישות

תיאור האודיו

ב-Android 13 (רמת API 33) נוספה העדפה חדשה ברמת המערכת לנגישות, שמאפשרת למשתמשים להפעיל תיאורים קוליים בכל האפליקציות. תיאור אודיו הוא טראק נוסף של קריינות שכוללת קריין שמדבר במצגת, ומתאר את מה שמתרחש במסך בזמן השהיות טבעיות של האודיו. האפליקציות יכולות לעקוב אחרי העדפת המשתמש לגבי טראקים של תיאורי אודיו באמצעות שאילתה באמצעות isAudioDescriptionRequested(), כפי שמוצג בקטע הקוד הבא:

KotlinJava
private lateinit var accessibilityManager: AccessibilityManager

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)

// Where your media player is initialized
if (accessibilityManager.isAudioDescriptionRequested) {
    // User has requested to enable audio descriptions
}
private AccessibilityManager accessibilityManager;

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);

// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
    // User has requested to enable audio descriptions
}

אפליקציות יכולות לעקוב אחר שינוי ההעדפות של המשתמש על ידי הוספת מאזינים ל-AccessbilityManager:

KotlinJava
private val listener =
    AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
        // Preference changed; reflect its state in your media player
    }

override fun onStart() {
    super.onStart()

    accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}

override fun onStop() {
    super.onStop()

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
    // Preference changed; reflect its state in your media player
};

@Override
protected void onStart() {
    super.onStart();

    accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}

@Override
protected void onStop() {
    super.onStop();

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}

פונקציונליות עיקרית

עדכונים לגבי OpenJDK 11

ב-Android 13 מתחילה העבודה על רענון ספריות הליבה של Android כדי להתאים אותן למהדורת OpenJDK 11 LTS, עם עדכוני ספריות ותמיכה בשפה Java 11 למפתחי אפליקציות ופלטפורמות. השינויים בספריית הליבה שהושקו ב-Android 13 יהיו זמינים גם במכשירי Android 12 באמצעות עדכון מערכת של Google Play למודול הראשי של ART.

מערכת Android 13 כוללת את השינויים הבאים בספריות הליבה:

  • תמיכה במילת המפתח var עבור משתנים מקומיים ובתור פרמטרים lambdas.
  • שיטות חדשות במחלקה String:

    • isBlank()
    • lines()
    • repeat()
    • strip()
    • stripLeading()
    • stripTrailing()
  • תמיכה ב-Collection.toArray(IntFunction) כדי שיהיה קל יותר להתאים אוסף למערך.

  • תמיכה ב-ifPresentOrElse(), ב-isEmpty(), ב-orElseThrow() וב-stream() במחלקות java.util Optional, OptionalDouble, OptionalInt ו-OptionalLong.

  • תמיכה מורחבת ב-SocketOptions, כולל שימוש חוזר בסוקט.

  • הפונקציונליות של NullReader, NullWriter, InputStream, OutputStream ו-transferTo() Reader, שמעבירה תווי קריאה אל Writer.

  • נוספה פונקציונליות לקידוד ולפענוח של כתובות URL באמצעות Charsets.

  • הפונקציונליות של Charset ב-FileReader, ב-FileWriter, ב-PrintStream וב-PrintWriter.

  • פונקציות transferTo(), readNBytes(), readAllBytes() ו-writeBytes() חדשות ל-ByteArrayInput, ל-OutputStream ול-Input או ל-OutputStream.

  • תמיכה בסביבת זמן ריצה ובמהדר (compiler) ל-java.lang.invoke.VarHandle.

  • עדכון של java.util.concurrent ל-OpenJDK 11 API באמצעות VarHandle באופן פנימי.

Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.