שינויים במסגרת התאימות (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) ואילך.

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

מידע נוסף על השינוי הזה זמין בקטע הערך שמוגדר כברירת מחדל למאפיין elegantTextHeight הוא 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.2% מהרזולוציה האנכית והאופקית של המסך האמיתי.

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 35) ואילך.

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

ENABLE_MATCH_LOCAL_NETWORK

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

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

ENABLE_STRICT_FORMATTER_VALIDATION

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

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

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

ENFORCE_EDGE_TO_EDGE

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

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

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

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

מידע נוסף על השינוי הזה זמין בקטע הגבלות על BOOT_COMPLETED 'מקלטי שידור' שמפעילים שירותים בחזית בדף של השינויים בהתנהגות ב-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 35) ואילך.

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

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

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

OVERRIDE_ANY_ORIENTATION_TO_USER

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

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

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

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

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

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

כשהשינוי הזה מופעל, הוא מאלץ את החבילות שהוא חל עליהן להתעלם מהערך הנוכחי של android:resizeableActivity, וגם מ-Target 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.