שינויים במסגרת התאימות (Android 15)

איור 1. במסך 'שינויים בתאימות האפליקציה' באפשרויות למפתחים מפורטים השינויים שאפשר להפעיל או להשבית.

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

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

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

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

שינויים בהתנהגות שנכללים במסגרת התאימות

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

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

שינויים שניתן להפעיל או להשבית במסגרת התאימות ב-Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

מזהה שינוי: 162547999
מצב ברירת מחדל: מושבת לכל האפליקציות.

מציין שהמכשיר הזה תומך במחווני מצלמה ומיקרופון. הערך הוא false אם הוא קיים, כי השיטה CompatChanges#isChangeEnabled מחזירה true אם מזהה השינוי לא קיים.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

מזהה שינוי: 320741775
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות Android 15 (רמת API 35) ומעלה.

כשההגדרה מופעלת, isSessionConfigurationSupported בודק גם את התאימות של פרמטרים של סשן אם יש תמיכה ב-HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

מזהה שינוי: 296478951
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API‏ 35) ומעלה.

כשההגדרה הזו מופעלת, היוצר של PendingIntent חוסם כברירת מחדל הפעלות של פעילות ברקע.

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

DEPRECATE_UI_FONT

מספר לשינוי: 279646685
מצב ברירת המחדל: מופעל באפליקציות שמיועדות ל-Android 15 (רמת API 35) ומעלה.

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

מידע נוסף על השינוי הזה זמין בקטע elegantTextHeight attribute defaults to true בדף השינויים בהתנהגות ב-Android 15.

DOWNSCALED

מזהה השינוי: 168419799
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

כשהשינוי הזה מופעל לחבילת אפליקציות, גודל האפליקציה משתנה בכוח לגורם קנה המידה הגבוה ביותר שמופעל. לדוגמה, אם מפעילים גם את 80% וגם את 70% (DOWNSCALE_80 ו-DOWNSCALE_70), המערכת תשתמש ב-80%. אם מפעילים גם את השינוי הזה וגם את DOWNSCALED_INVERSE, השינוי DOWNSCALED_INVERSE מקבל עדיפות ומתאם שינוי הגודל מוחל באופן הפוך.

DOWNSCALED_INVERSE

מזהה שינוי: 273564678
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

כשהשינוי הזה מופעל לחבילת אפליקציה, גודל האפליקציה משתנה בכוח לגורם הקנה מידה הנמוך ביותר שמופעל. לדוגמה, אם מפעילים את שני הערכים 80% ו-70% (DOWNSCALE_80 ו-DOWNSCALE_70), המערכת תשתמש בערך 80%, כי כשמחילים אותו באופן הפוך, מקדם ההתאמה של 80% שווה ל-125%, שהוא נמוך ממקדם ההתאמה של 142.86% שמוחל כשמחילים באופן הפוך את מקדם ההתאמה של 70%. אם מפעילים גם את השינוי הזה וגם את DOWNSCALED, השינוי DOWNSCALED_INVERSE מקבל עדיפות ומתאם שינוי הגודל מוחל באופן הפוך.

DOWNSCALE_30

מזהה שינוי: 189970040
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 30% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 333.33% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_35

מזהה השינוי: 189969749
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם האפשרות DOWNSCALED מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 35% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 285.71% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_40

מזהה השינוי: 189970038
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם האפשרות DOWNSCALED מופעלת גם היא, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 40% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקית של 250% מהרזולוציה של המסך האמיתי.

DOWNSCALE_45

מזהה שינוי: 189969782
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם גם האפשרות DOWNSCALED מופעלת, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 45% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 222.22% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_50

מזהה השינוי: 176926741
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם האפשרות DOWNSCALED מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 50% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקית של 200% מהרזולוציה של המסך האמיתי.

DOWNSCALE_55

מזהה שינוי: 189970036
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 55% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 181.82% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_60

מזהה השינוי: 176926771
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 60% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 166.67% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_65

מזהה שינוי: 189969744
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 65% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה בחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 153.85% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_70

מזהה השינוי: 176926829
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 70% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 142.86% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_75

מזהה השינוי: 189969779
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 75% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה עבור חבילה מסוימת גורמת לאפליקציה להניח שהיא פועלת במסך עם 133.33% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_80

מזהה השינוי: 176926753
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 80% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 125% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_85

מזהה השינוי: 189969734
מצב ברירת המחדל: מושבת לכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 85% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם ההגדרה DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה לחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 117.65% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_90

מזהה שינוי: 182811243
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם גם האפשרות DOWNSCALED מופעלת, הפעלת השינוי הזה בחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 90% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם האפשרות DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה בחבילה גורמת לאפליקציה להניח שהיא פועלת במסך עם 111.11% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

מזהה השינוי: 202956589
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API 35) או לגרסאות מתקדמות יותר.

אם האפשרות הזו מופעלת, כשמשתמשים ב-Arrays.asList(...).toArray(), סוג הרכיב של המערך שמתקבל הוא עכשיו Object – ולא הסוג של הרכיבים במערך הבסיסי. לכן הקוד הבא יוצר חריגה מסוג ClassCastException:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

במקרה הזה, כדי לשמור את String כסוג הרכיב במערך שמתקבל, אפשר להשתמש ב-Collection.toArray(Object[]) במקום:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

מידע נוסף על השינוי הזה זמין בקטע שינויים ב-OpenJDK API בדף שינויים בהתנהגות ב-Android 15.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

מזהה השינוי: 324203798
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 ‏ (API level 35) ומעלה.

כשהאפשרות הזו מופעלת, כדי למנוע בעיות תאימות של אפליקציות קיימות עם שימושים ב-ClientTransaction#getActivityToken() שאינם SDK, מותר רק לארוז את LaunchActivityItem.

ENABLE_MATCH_LOCAL_NETWORK

מזהה שינוי: 319212206
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות Android 15 (רמת API 35) ומעלה.

כשההגדרה מופעלת, האפליקציות מקבלות כברירת מחדל קריאות חוזרות (callback) לרשת מהרשתות המקומיות. אפליקציות שמטרגטות ל-Android מגרסה 14 (רמת API ‏34) ומטה עדיין צריכות להוסיף NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK ל-NetworkCapabilities של NetworkRequest כדי לקבל ConnectivityManager.NetworkCallback מרשתות מקומיות.

ENABLE_STRICT_FORMATTER_VALIDATION

מזהה שינוי: 270674727
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 ‏ (API level 35) ומעלה.

אם האפשרות הזו מופעלת, האימות של אינדקס הארגומנטים, הדגלים, הרוחב והדיוק מחמיר יותר כשמשתמשים בממשקי ה-API‏ String.format() ו-Formatter.format().

מידע נוסף על השינוי הזה זמין בקטע שינויים ב-OpenJDK API בדף שינויים בהתנהגות ב-Android 15.

ENFORCE_EDGE_TO_EDGE

מזהה שינוי: 309578419
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 15 (רמת API 35) ומעלה.

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

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

ENFORCE_STRICT_QUERY_BUILDER

מזהה שינוי: 143231523
<0x000A> מצב ברירת מחדל: מושבת לכל האפליקציות.

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

FGS_BOOT_COMPLETED_RESTRICTIONS

מזהה שינוי: 296558535
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות Android 15 (רמת API 35) ומעלה.

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

מידע נוסף על השינוי הזה זמין בקטע הגבלות על הפעלת שירותים בחזית על ידי רכיבי BOOT_COMPLETED broadcast receivers בדף בנושא שינויים בהתנהגות ב-Android 15.

FGS_INTRODUCE_TIME_LIMITS

מזהה שינוי: 317799821
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות Android 15 (רמת API 35) ומעלה.

כשמפעילים את ההגדרה הזו, יש הגבלת זמן לשירותים שפועלים בחזית מסוגים מסוימים. אם שירות החזית מהסוג הבעייתי לא ייעצר במסגרת מגבלת הזמן שהוקצתה, הוא יקבל קריאה חוזרת באמצעות Service.onTimeout(int, int), ואז הוא חייב להיעצר תוך כמה שניות. אם אפליקציה לא עושה זאת, היא תוגדר כ-ANR.

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

FGS_SAW_RESTRICTIONS

מזהה השינוי: 319471980
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API 35) ומעלה.

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

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

FORCE_DISABLE_HEVC_SUPPORT

מזהה השינוי: 174227820
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

FORCE_ENABLE_HEVC_SUPPORT

מזהה שינוי: 174228127
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

FORCE_NON_RESIZE_APP

מזהה שינוי: 181146395
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

FORCE_RESIZE_APP

מזהה השינוי: 174042936
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

GWP_ASAN

מזהה השינוי: 145634846
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

מידע נוסף על השימוש ב-GWP-ASan זמין במדריך GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

מזהה שינוי: 307233716
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API 35) ומעלה.

כשהאפשרות הזו מופעלת, השיטה isDeviceOwnerApp(String) תשתמש במשתמש שכלול בהקשר. באפליקציות שמיועדות ל-Android 14 (רמת API ‏34) ומטה, המשתמש בתהליך הקריאה ישמש (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

מזהה שינוי: 308670109
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 ‏ (API level 35) ומעלה.

כשההגדרה הזו מופעלת, אפליקציות לא יכולות יותר לשנות את המצב או המדיניות הגלובליים של 'נא לא להפריע' במכשיר (על ידי שינוי הגדרות המשתמש או השבתת המצב 'נא לא להפריע'). במקום זאת, האפליקציות צריכות להוסיף AutomaticZenRule, שהמערכת משלבת במדיניות גלובלית עם הסכימה הקיימת של המדיניות הכי מגבילה שקובעת.

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

NATIVE_HEAP_ZERO_INIT

מזהה שינוי: 178038272
מצב ברירת מחדל: מושבת לכל האפליקציות.

הפעלה של אתחול אוטומטי לאפס של הקצאות זיכרון בערימות (heap allocation) מקומיות.

NATIVE_MEMTAG_ASYNC

מזהה שינוי: 145772972
מצב ברירת המחדל: מושבת לכל האפליקציות.

הפעלת בדיקה אסינכרונית (ASYNC) של תג זיכרון בתהליך הזה. הדגל הזה משפיע רק על חומרה שתומכת בתוסף תיוג זיכרון (MTE) של ARM.

NATIVE_MEMTAG_SYNC

מזהה השינוי: 177438394
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

OVERRIDE_ANY_ORIENTATION

Change ID: 265464455
Default State: Disabled for all apps.

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

OVERRIDE_ANY_ORIENTATION_TO_USER

מזהה שינוי: 310816437
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

מזהה השינוי: 314961188
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

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

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

מזהה שינוי: 191514214
מצב ברירת המחדל: מושבת לכל האפליקציות.

כשהאפשרות הזו מופעלת, השינוי הזה גורם לחבילות שהוא חל עליהן להתעלם מהערך הנוכחי של android:resizeableActivity, וגם מגרסת SDK שמיועדת ל-Android 6.0 (רמת API‏ 23) ומטה, ולראות את הפעילות כפעילות שלא ניתן לשנות את גודל החלון שלה. במקרה הזה, הערך של סיבוב וחיתוך המצלמה תלוי רק בפיצוי הנדרש בהתחשב בסיבוב הנוכחי של המסך.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

מספר לשינוי: 189229956
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

מזהה שינוי: 316897322
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

מזהה השינוי: 266124927
מצב ברירת המחדל: מושבת לכל האפליקציות.

מפעיל את SCREEN_ORIENTATION_REVERSE_LANDSCAPE באפליקציה שההרשאה חלה עליה. אלא אם OVERRIDE_ANY_ORIENTATION מופעל גם כן, SCREEN_ORIENTATION_REVERSE_LANDSCAPE ישמש רק אם הפעילות מציינת כיוון לרוחב. הפעלת השינוי הזה יכולה לעזור לכם לבדוק את התנהגות האפליקציה במכשירים שבהם תצוגה לרוחב מתאימה ל-Surface.ROTATION_90 ובמכשירים שבהם היא מתאימה ל-Surface.ROTATION_270.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

מזהה שינוי: 332679525
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

OVERRIDE_MIN_ASPECT_RATIO

מספר השינוי: 174042980
מצב ברירת המחדל: מושבת לכל האפליקציות.

השינוי הזה הוא שומר הסף של כל השינויים שמכתיבים יחס גובה-רוחב מינימלי מסוים. הפעלת השינוי הזה מאפשרת להחיל את יחסי הגובה-רוחב המינימליים הבאים:

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

מזהה שינוי: 218959984
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

מזהה שינוי: 180326787
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם האפשרות OVERRIDE_MIN_ASPECT_RATIO מופעלת גם היא, הפעלת השינוי הזה לחבילה מגדירה את יחס הגובה-רוחב המינימלי של הפעילות לערך גדול כפי שמוגדר על ידי OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

מזהה שינוי: 180326845
מצב ברירת מחדל: מושבת לכל האפליקציות.

אם האפשרות OVERRIDE_MIN_ASPECT_RATIO מופעלת גם היא, הפעלת השינוי הזה לחבילה מגדירה את יחס הגובה-רוחב המינימלי של הפעילות לערך בינוני כפי שמוגדר על ידי OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

מזהה שינוי: 325586858
מצב ברירת מחדל: מושבת לכל האפליקציות.

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

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

אם האפשרות OVERRIDE_MIN_ASPECT_RATIO מופעלת, השינוי הזה מגביל שינויים אחרים שמכריחים יחס רוחב-גובה מינימלי של פעילות לערך מסוים – כמו OVERRIDE_MIN_ASPECT_RATIO_LARGE ו- OVERRIDE_MIN_ASPECT_RATIO_MEDIUM – לפעילויות שהן גם במצב אנכי.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

מזהה השינוי: 236283604
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

מזהה שינוי: 265451093
מצב ברירת מחדל: מושבת לכל האפליקציות.

מפעיל את SCREEN_ORIENTATION_NOSENSOR באפליקציה שההרשאה חלה עליה. אלא אם OVERRIDE_ANY_ORIENTATION מופעל גם כן, SCREEN_ORIENTATION_NOSENSOR משמש רק אם לא צוין כיוון קבוע אחר בפעילות.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

מזהה שינוי: 265452344
מצב ברירת מחדל: מושבת לכל האפליקציות.

מפעיל את SCREEN_ORIENTATION_PORTRAIT באפליקציה שההרשאה חלה עליה. אלא אם OVERRIDE_ANY_ORIENTATION מופעל גם כן, SCREEN_ORIENTATION_PORTRAIT משמש רק אם לא צוין כיוון קבוע אחר בפעילות.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

מזהה שינוי: 319400769
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API 35) ומעלה.

אם ההגדרה הזו מופעלת, המערכת מנתחת כותרות Content-Disposition שתואמות ל-RFC 6266. בפרט, הפונקציה הזו מאפשרת ניתוח של ערכי filename* שיכולים להשתמש בקידוד תווים שונה.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

מזהה השינוי: 308103782
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API‏ 35) ומעלה.

כשהאפשרות הזו מופעלת, השיטות Random.ints() מחזירות עכשיו רצף שונה של מספרים בהשוואה לשיטות Random.nextInt(). זה נובע מהשינויים שמתוארים בכתובת https://bugs.openjdk.org/browse/JDK-8301574.

מידע נוסף על השינוי הזה זמין בקטע שינויים ב-OpenJDK API בדף שינויים בהתנהגות ב-Android 15.

USE_EXPERIMENTAL_COMPONENT_ALIAS

מזהה השינוי: 196254758
מצב ברירת המחדל: מושבת לכל האפליקציות.

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

USE_NEW_ISO_LOCALE_CODES

מספר השינוי: 291868760
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 15 (רמת API 35) ומעלה.

כשההגדרה הזו מופעלת, קודי השפה של עברית, יידיש ואינדונזית לא מומרים יותר לפורמטים המיושנים שלהם (עברית: iw, יידיש: ji ואינדונזית: in).

מידע נוסף על השינוי הזה זמין בקטע שינויים ב-OpenJDK API בדף שינויים בהתנהגות ב-Android 15.