تغییرات چارچوب همسازی (Android 15)

شکل ۱. صفحه «تغییرات سازگاری برنامه» در گزینه‌های توسعه‌دهنده تغییراتی را که می‌توانید تغییر دهید فهرست می‌کند.

این صفحه تغییرات قابل‌فعال/غیرفعال کردن را که بخشی از چارچوب همسازی در Android 15 (سطح API‏ ۳۵) است شرح می‌دهد. از این فهرست به‌همراه گزینه‌های توسعه‌دهندگان و فرمان‌های ADB استفاده کنید تا برنامه‌تان را درحین آماده شدن برای پشتیبانی و هدف قرار دادن Android 15 آزمایش و اشکال‌زدایی کنید.

در اینجا برخی‌از کارهایی که می‌توانید بااستفاده از ابزارهای چارچوب همسازی انجام دهید آورده شده است:

  • تغییرات هدف‌یابی‌شده را بدون تغییر واقعی targetSdkVersion برنامه آزمایش کنید. می‌توانید از کلیدهای تغییر وضعیت برای فعال‌سازی اجباری تغییرات رفتاری هدفمند خاص استفاده کنید تا تأثیر آن را بر برنامه موجودتان ارزیابی کنید.
  • آزمایش را فقط روی تغییرات خاصی متمرکز کنید. به‌جای اینکه مجبور باشید همه تغییرات هدف‌یابی‌شده را به‌طور هم‌زمان اعمال کنید، کلیدهای روشن/خاموش به شما امکان می‌دهند همه تغییرات هدف‌یابی‌شده را غیرفعال کنید، به‌جز تغییراتی که می‌خواهید آزمایش کنید.
  • مدیریت کلیدهای روشن/خاموش ازطریق adb. می‌توانید از فرمان‌های adb برای فعال و غیرفعال کردن تغییرات قابل‌تغییر در محیط آزمایش خودکارشده استفاده کنید.
  • بااستفاده از شناسه‌های تغییر استاندارد، سریع‌تر اشکال‌زدایی کنید. هر تغییر قابل‌تغییر دارای شناسه و نام یکتایی است که می‌توانید از آن برای اشکال‌زدایی سریع علت ریشه‌ای در خروجی گزارش استفاده کنید.

برای جزئیات کامل درباره استفاده از ابزارها برای هریک از این موارد استفاده، به ابزارهای چارچوب همسازی مراجعه کنید.

تغییرات رفتاری موجود در چارچوب همسازی

فهرست این بخش تغییرات قابل‌تغییر را که در چارچوب همسازی برای تغییرات مربوط به Android 15 گنجانده شده‌اند و تغییرات قابل‌تغییر را که می‌توانند به آزمایش کلی برنامه کمک کنند شرح می‌دهد.

می‌توانید فهرست تغییرات را براساس وضعیت پیش‌فرض آن‌ها فیلتر کنید.

تغییرات قابل‌تغییر در چارچوب سازگاری در Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

شناسه تغییر: ۱۶۲۵۴۷۹۹۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

نشان می‌دهد که این دستگاه از نشانگرهای دوربین و میکروفون پشتیبانی می‌کند. مقدار false است اگر موجود باشد، زیرا CompatChanges#isChangeEnabled روش true را برمی‌گرداند اگر شناسه تغییر موجود نباشد.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

شناسه تغییر: 320741775
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف‌یابی می‌کنند فعال است.

وقتی فعال باشد، isSessionConfigurationSupported همچنین سازگاری پارامترهای جلسه را درصورت پشتیبانی HAL بررسی می‌کند.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

شناسه تغییر: ۲۹۶۴۷۸۹۵۱
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۵ (سطح میانای برنامه‌سازی کاربردی ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، سازنده PendingIntent به‌طور پیش‌فرض راه‌اندازی فعالیت پس‌زمینه را مسدود می‌کند.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به راه‌اندازی‌های ایمن فعالیت پس‌زمینه در صفحه تغییرات رفتار Android 15 مراجعه کنید.

DEPRECATE_UI_FONT

شناسه تغییر: ۲۷۹۶۴۶۶۸۵
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۵ (سطح API‏ ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، مشخصه elegantTextHeight TextView به‌طور پیش‌فرض به true تبدیل می‌شود وقتی برنامه‌تان در دستگاهی با Android 15 یا بالاتر اجرا می‌شود، و قلم فشرده‌ای را که به‌طور پیش‌فرض با برخی نویسه‌های دارای سنجه‌های عمودی بزرگ استفاده می‌شود با قلمی که بسیار خواناتر است جایگزین می‌کند.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به پیش‌فرض بودن مقدار درست برای مشخصه elegantTextHeight در صفحه تغییرات رفتاری Android 15 مراجعه کنید.

DOWNSCALED

شناسه تغییر: ۱۶۸۴۱۹۷۹۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

این تغییر دروازه‌بان همه تغییرات کاهش مقیاس میان‌گیر برای هر برنامه است. با فعال کردن این تغییر، ضریب‌های مقیاس زیر می‌توانند اعمال شوند:

وقتی این تغییر برای بسته برنامه فعال شود، اندازه برنامه به‌اجبار به بالاترین ضریب مقیاس فعال‌شده تغییر می‌کند. برای مثال، اگر هر دو گزینه ۸۰٪ و ۷۰٪ (DOWNSCALE_80 و DOWNSCALE_70) فعال باشند، از ۸۰٪ استفاده می‌شود. وقتی هم این تغییر و هم DOWNSCALED_INVERSE فعال باشند، DOWNSCALED_INVERSE اولویت دارد و ضریب مقیاس به‌صورت معکوس اعمال می‌شود.

DOWNSCALED_INVERSE

شناسه تغییر: ۲۷۳۵۶۴۶۷۸
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

این تغییر دروازه‌بان همه تغییرات کاهش مقیاس معکوس میان‌گیر برای هر برنامه است. فعال کردن این تغییر باعث می‌شود ضریب‌های مقیاس زیر به‌صورت معکوس اعمال شوند (یعنی وضوح به‌جای کاهش، افزایش می‌یابد):

وقتی این تغییر برای بسته برنامه فعال شود، اندازه برنامه به‌اجبار به پایین‌ترین ضریب مقیاس فعال‌شده تغییر می‌کند. برای مثال، اگر هر دو ۸۰٪ و ۷۰٪ (DOWNSCALE_80 و DOWNSCALE_70) فعال باشند، از ۸۰٪ استفاده می‌شود زیرا وقتی به‌صورت معکوس اعمال شود، ضریب مقیاس ۸۰٪ برابر با ۱۲۵٪ است که کمتر از مقیاس ۱۴۲٫۸۶٪ است که هنگام اعمال معکوس ضریب مقیاس ۷۰٪ اعمال می‌شود. وقتی هم این تغییر و هم DOWNSCALED فعال باشند، DOWNSCALED_INVERSE اولویت دارد و ضریب مقیاس به‌صورت معکوس اعمال می‌شود.

DOWNSCALE_30

شناسه تغییر: ۱۸۹۹۷۰۰۴۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۳۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۳۳۳٫۳۳٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_35

شناسه تغییر: ۱۸۹۹۶۹۷۴۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۳۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۲۸۵٫۷۱٪ وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود.

DOWNSCALE_40

شناسه تغییر: 189970038
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۴۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند روی نمایشگری با ۲۵۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_45

شناسه تغییر: ۱۸۹۹۶۹۷۸۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۴۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۲۲۲٫۲۲٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_50

شناسه تغییر: ۱۷۶۹۲۶۷۴۱
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۵۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۲۰۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_55

شناسه تغییر: ۱۸۹۹۷۰۰۳۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۵۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۸۱٫۸۲٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_60

شناسه تغییر: ۱۷۶۹۲۶۷۷۱
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۶۰٪ وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۶۶٫۶۷٪ وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود.

DOWNSCALE_65

شناسه تغییر: ۱۸۹۹۶۹۷۴۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۶۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۵۳٫۸۵٪ وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود.

DOWNSCALE_70

شناسه تغییر: ۱۷۶۹۲۶۸۲۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۷۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۴۲٫۸۶٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_75

شناسه تغییر: ۱۸۹۹۶۹۷۷۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۷۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۳۳٫۳۳٪ وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود.

DOWNSCALE_80

شناسه تغییر: ۱۷۶۹۲۶۷۵۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۸۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۲۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_85

شناسه تغییر: ۱۸۹۹۶۹۷۳۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۸۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۱۷٫۶۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_90

شناسه تغییر: ۱۸۲۸۱۱۲۴۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اگر DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۹۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است. اگر DOWNSCALED_INVERSE نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۱۱۱٫۱۱٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

شناسه تغییر: 202956589
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح API‏ ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، هنگام استفاده از 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 در صفحه تغییرات رفتار Android 15 مراجعه کنید.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

شناسه تغییر: ۳۲۴۲۰۳۷۹۸
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، برای جلوگیری از اینکه برنامه‌های موجود با استفاده‌های غیرکیت توسعه نرم‌افزار از ClientTransaction#getActivityToken() مشکل سازگاری برنامه داشته باشند، فقط اجازه دسته‌بندی LaunchActivityItem را بدهید.

ENABLE_MATCH_LOCAL_NETWORK

شناسه تغییر: 319212206
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، برنامه‌ها به‌طور پیش‌فرض از شبکه‌های محلی بازخوانی شبکه دریافت می‌کنند. برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) یا پایین‌تر را هدف قرار می‌دهند، همچنان باید NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK را به NetworkCapabilities از NetworkRequest اضافه کنند تا بتوانند ConnectivityManager.NetworkCallback را از شبکه‌های محلی دریافت کنند.

ENABLE_STRICT_FORMATTER_VALIDATION

شناسه تغییر: 270674727
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح API‏ ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، اعتبارسنجی شاخص آرگومان، پرچم‌ها، عرض، و دقت هنگام استفاده از میاناهای برنامه‌سازی کاربردی String.format() و Formatter.format() اکنون سخت‌گیرانه‌تر است.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به تغییرات میانای برنامه‌سازی کاربردی OpenJDK در صفحه تغییرات رفتار Android 15 مراجعه کنید.

ENFORCE_EDGE_TO_EDGE

شناسه تغییر: 309578419
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (میانای برنامه‌سازی کاربردی سطح ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، برنامه‌ها به‌طور پیش‌فرض در دستگاه‌های دارای Android 15 یا بالاتر لبه‌به‌لبه خواهند بود.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به اجرای لبه‌به‌لبه در صفحه تغییرات رفتاری Android 15 مراجعه کنید.

ENFORCE_STRICT_QUERY_BUILDER

شناسه تغییر: ۱۴۳۲۳۱۵۲۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، SQLiteQueryBuilder همه انتخاب‌های پُرسمان CalendarProvider2 را دربرابر آرگومان‌های مخرب درستی‌سنجی می‌کند.

FGS_BOOT_COMPLETED_RESTRICTIONS

شناسه تغییر: ۲۹۶۵۵۸۵۳۵
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۵ (سطح API‏ ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، شروع سرویس پیش‌زمینه‌ای در پس‌زمینه را از BOOT_COMPLETED رویدادهای ثبت‌شده برای همه انواع غیرفعال می‌کند، به‌جز:

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به محدودیت‌های BOOT_COMPLETED گیرنده‌های رویداد ثبت‌شده در راه‌اندازی سرویس‌های پیش‌زمینه‌ای در صفحه تغییرات رفتاری Android 15 مراجعه کنید.

FGS_INTRODUCE_TIME_LIMITS

شناسه تغییر: 317799821
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، سرویس‌های پیش‌زمینه‌ای از انواع خاصی دارای محدودیت زمانی هستند. اگر سرویس پیش‌زمینه‌ای نوع متخلف در محدوده زمانی اختصاص‌داده‌شده متوقف نشود، بااستفاده از Service.onTimeout(int, int) یک فراخوان دریافت می‌کند و سپس باید ظرف چند ثانیه متوقف شود. اگر برنامه‌ای نتواند این کار را انجام دهد، خطای ANR اعلام می‌شود.

برای کسب اطلاعات بیشتر درباره این تغییر، بخش‌های مربوط به رفتار زمان‌اتمام برای انواع سرویس پیش‌زمینه همگام‌سازی داده و پردازش رسانه را در صفحه تغییرات رفتار Android 15 ببینید.

FGS_SAW_RESTRICTIONS

شناسه تغییر: 319471980
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، شروع سرویس پیش‌زمینه‌ای در پس‌زمینه را در «پنجره هشدار سیستم» برای همه انواع غیرفعال می‌کند، مگراینکه ازقبل «پنجره هم‌پوشانی سیستم» داشته باشد.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به محدودیت‌های شروع سرویس‌های پیش‌زمینه‌ای درحالی‌که برنامه اجازه SYSTEM_ALERT_WINDOW را دارد در صفحه تغییرات رفتاری Android 15 مراجعه کنید.

FORCE_DISABLE_HEVC_SUPPORT

شناسه تغییر: ۱۷۴۲۲۷۸۲۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

غیرفعال کردن اجباری برنامه از پشتیبانی قابلیت رسانه HEVC. برنامه‌ها باید قابلیت‌های رسانه‌ای پشتیبانی‌شده خود را در مانیفست خود اعلام کنند، اما این پرچم می‌تواند برای مجبور کردن برنامه به عدم پشتیبانی از HEVC استفاده شود، بنابراین تراتبدیل را هنگام دسترسی به رسانه‌های کدگذاری‌شده در HEVC اجباری می‌کند. تنظیم این پرچم هرگونه پیش‌فرض سطح سیستم‌عامل را برای برنامه‌ها لغو می‌کند. این ویژگی به‌طور پیش‌فرض غیرفعال است، یعنی پیش‌فرض‌های سیستم‌عامل اولویت دارند. اگر هم این پرچم و هم FORCE_ENABLE_HEVC_SUPPORT فعال باشند، سیستم‌عامل هر دو پرچم را نادیده می‌گیرد.

FORCE_ENABLE_HEVC_SUPPORT

شناسه تغییر: ۱۷۴۲۲۸۱۲۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اجباراً فعال کردن برنامه برای پشتیبانی از قابلیت رسانه HEVC. برنامه‌ها باید قابلیت‌های رسانه پشتیبانی‌شده خود را در مانیفست خود اعلام کنند اما از این پرچم می‌توان برای اجبار کردن برنامه به پشتیبانی از HEVC استفاده کرد، بنابراین از تراتبدیل هنگام دسترسی به رسانه کدبندی‌شده در HEVC اجتناب می‌شود. تنظیم این پرچم هرگونه پیش‌فرض سطح سیستم‌عامل را برای برنامه‌ها لغو می‌کند. این ویژگی به‌طور پیش‌فرض غیرفعال است، یعنی پیش‌فرض‌های سیستم‌عامل اولویت دارند. اگر هم این پرچم و هم FORCE_DISABLE_HEVC_SUPPORT فعال باشند، سیستم‌عامل هر دو پرچم را نادیده می‌گیرد.

FORCE_NON_RESIZE_APP

شناسه تغییر: ۱۸۱۱۴۶۳۹۵
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

بسته‌هایی را که برای آن‌ها اعمال شده است مجبور می‌کند تغییرناپذیر باشند.

FORCE_RESIZE_APP

شناسه تغییر: ۱۷۴۰۴۲۹۳۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

بسته‌هایی را که روی آن‌ها اعمال می‌شود مجبور می‌کند تا تغییرپذیر باشند. ما فقط تغییر اندازه را در حالت پنجره‌ای تمام‌صفحه مجاز می‌کنیم، اما برنامه را به حالت چندپنجره‌ای با قابلیت تغییر اندازه مجبور نمی‌کنیم.

GWP_ASAN

شناسه تغییر: ۱۴۵۶۳۴۸۴۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

تشخیص اشکال حافظه محلی نمونه‌برداری‌شده را در برنامه‌ها فعال می‌کند.

برای کسب اطلاعات بیشتر درباره استفاده از GWP-ASan، به راهنمای GWP-ASan مراجعه کنید.

IS_DEVICE_OWNER_USER_AWARE

شناسه تغییر: 307233716
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، روش isDeviceOwnerApp(String) از کاربری که در بافت وجود دارد استفاده خواهد کرد. برای برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) یا پایین‌تر را هدف‌یابی می‌کنند، از کاربر فرایند فراخوان استفاده خواهد شد (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

شناسه تغییر: 308670109
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی ۳۵) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، برنامه‌ها دیگر نمی‌توانند وضعیت یا خط‌مشی سراسری «مزاحم نشوید» (DND) را در دستگاه تغییر دهند (چه با اصلاح تنظیمات کاربر، چه با خاموش کردن حالت «مزاحم نشوید»). درعوض، برنامه‌ها باید AutomaticZenRule را ارائه دهند، که سیستم آن را با طرح موجود «محدودکننده‌ترین خط‌مشی برنده است» در یک خط‌مشی سراسری ترکیب می‌کند.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به تغییرات مربوط به زمان‌هایی که برنامه‌ها می‌توانند وضعیت سراسری حالت «مزاحم نشوید» را اصلاح کنند در صفحه تغییرات رفتاری Android 15 مراجعه کنید.

NATIVE_HEAP_ZERO_INIT

شناسه تغییر: ۱۷۸۰۳۸۲۷۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

مقداردهی اولیه صفر خودکار تخصیص‌های حافظه پشته بومی را فعال کنید.

NATIVE_MEMTAG_ASYNC

شناسه تغییر: ۱۴۵۷۷۲۹۷۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

بررسی برچسب حافظه غیرهمگام (ASYNC) در این فرایند فعال شود. این پرچم فقط بر سخت‌افزاری تأثیر می‌گذارد که از «افزونه‌های نشان‌گذاری حافظه» (MTE) ARM پشتیبانی می‌کند.

NATIVE_MEMTAG_SYNC

شناسه تغییر: ۱۷۷۴۳۸۳۹۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

بررسی برچسب حافظه همگام (SYNC) را در این فرایند فعال می‌کند. این پرچم فقط بر سخت‌افزاری تأثیر می‌گذارد که از «افزونه‌های نشان‌گذاری حافظه» (MTE) ARM پشتیبانی می‌کند. اگر هم NATIVE_MEMTAG_ASYNC و هم این گزینه فعال باشند، این گزینه اولویت دارد و MTE در حالت SYNC فعال می‌شود.

OVERRIDE_ANY_ORIENTATION

شناسه تغییر: ۲۶۵۴۶۴۴۵۵
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، این تغییر اجازه می‌دهد لغوهای جهت زیر بدون توجه به جهت درخواست‌شده توسط فعالیت اعمال شود:

OVERRIDE_ANY_ORIENTATION_TO_USER

شناسه تغییر: ۳۱۰۸۱۶۴۳۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، SCREEN_ORIENTATION_USER را فعال می‌کند، که هرگونه جهت‌گیری درخواست‌شده توسط فعالیت را لغو می‌کند. برنامه‌های دارای جهت ثابت را می‌توان در دستگاه‌های دارای صفحه‌نمایش بزرگ که ignoreOrientationRequest در آن‌ها فعال است با این لغو کردن به تمام‌صفحه لغو کرد.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

شناسه تغییر: ۳۱۴۹۶۱۱۸۸
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، بسته‌هایی را که لغو بر آن‌ها اعمال شده است از درمان سازگاری دوربین در حالت پنجره‌بندی قالب آزاد برای برنامه‌های جهت ثابت مستثنی می‌کند.

در حالت پنجره‌بندی قالب آزاد، درمان سازگاری با ایجاد حاشیه سیاه در پنجره برنامه و تغییر مشخصات دوربین به آنچه برنامه‌ها معمولاً در دستگاه عمودی انتظار دارند، اجرای برنامه در دستگاه عمودی را شبیه‌سازی می‌کند: چرخش حسگر ۹۰ و ۲۷۰ درجه به‌ترتیب برای دوربین‌های پشت و جلو، و تنظیم چرخش نمایشگر روی ۰.

از این پرچم برای غیرفعال کردن درمان سازگاری برای برنامه‌هایی که به درمان پاسخ خوبی نمی‌دهند استفاده کنید.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

شناسه تغییر: 191514214
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی این تغییر فعال باشد، بسته‌هایی را که برای آن‌ها اعمال شده است مجبور می‌کند مقدار فعلی android:resizeableActivity و همچنین کیت توسعه نرم‌افزار هدف برابر یا پایین‌تر از Android 6.0 (سطح میانای برنامه‌سازی کاربردی ۲۳) را نادیده بگیرند و فعالیت را به‌عنوان غیرقابل‌تغییر اندازه درنظر بگیرند. در این حالت، مقدار چرخش و برش دوربین فقط به جبران موردنیاز با درنظر گرفتن چرخش نمایشگر فعلی بستگی دارد.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

شناسه تغییر: ۱۸۹۲۲۹۹۵۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، این تغییر بسته‌هایی را که روی آن‌ها اعمال شده است مجبور می‌کند رفتار پیش‌فرض چرخش و برش دوربین را لغو کنند و همیشه CaptureRequest.SCALER_ROTATE_AND_CROP_NONE را برگردانند.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

شناسه تغییر: ۳۱۶۸۹۷۳۲۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، تضمین می‌کند که هنگام شروع جلسه 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

شناسه تغییر: ۳۳۲۶۷۹۵۲۵
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، چیدمان را در رفتار حالت برش نمایشگر لغو می‌کند. این فقط درصورتی اعمال می‌شود که حالت لبه‌به‌لبه اجباری نباشد.

OVERRIDE_MIN_ASPECT_RATIO

شناسه تغییر: ۱۷۴۰۴۲۹۸۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

این تغییر دروازه‌بان همه تغییراتی است که حداقل نسبت ابعادی مشخصی را تحمیل می‌کنند. با فعال کردن این تغییر، حداقل نسبت‌های ابعادی زیر اعمال می‌شود:

وقتی این تغییر برای بسته برنامه فعال شود، حداقل نسبت ابعادی ارائه‌شده در مانیفست برنامه با بزرگ‌ترین نسبت ابعادی فعال‌شده لغو می‌شود، مگراینکه مقدار مانیفست برنامه بالاتر باشد.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

شناسه تغییر: ۲۱۸۹۵۹۹۸۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، محدودیت حداقل نسبت ابعادی را در حالت تمام‌صفحه عمودی لغو می‌کند تا از تمام فضای دردسترس صفحه‌نمایش استفاده شود.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

شناسه تغییر: ۱۸۰۳۲۶۷۸۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال باشد، فعال کردن این تغییر برای یک بسته، حداقل نسبت ابعادی فعالیت را روی مقدار بزرگی که توسط OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE تعریف شده است تنظیم می‌کند.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

شناسه تغییر: ۱۸۰۳۲۶۸۴۵
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال باشد، فعال کردن این تغییر برای یک بسته، نسبت ابعادی حداقل فعالیت را روی مقدار متوسطی که توسط OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE تعریف شده است تنظیم می‌کند.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

شناسه تغییر: ۳۲۵۵۸۶۸۵۸
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، پردازش‌هایی را که اعمال حداقل نسبت ابعادی مشخصی را اجباری می‌کنند محدود می‌کند تا فقط زمانی اعمال شوند که برنامه به دوربین متصل است.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

شناسه تغییر: ۲۰۳۶۴۷۱۹۰
وضعیت پیش‌فرض: برای همه برنامه‌ها فعال است.

وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال باشد، این تغییر هر تغییر دیگری را که نسبت ابعادی حداقل فعالیت را به مقدار خاصی محدود می‌کند (مثل OVERRIDE_MIN_ASPECT_RATIO_LARGE و OVERRIDE_MIN_ASPECT_RATIO_MEDIUM) به فعالیت‌هایی که جهت عمودی نیز دارند محدود می‌کند.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

شناسه تغییر: ۲۳۶۲۸۳۶۰۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، این تغییر بسته‌هایی را که برای آن‌ها اعمال شده است از محدودیت‌های نادیده گرفتن جهت که سازندگان دستگاه می‌توانند تنظیم کنند مستثنی می‌کند.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

شناسه تغییر: ۲۶۵۴۵۱۰۹۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

SCREEN_ORIENTATION_NOSENSOR را برای برنامه‌ای که روی آن اعمال شده است فعال می‌کند. مگر اینکه OVERRIDE_ANY_ORIENTATION نیز فعال باشد، SCREEN_ORIENTATION_NOSENSOR فقط زمانی استفاده می‌شود که فعالیت هیچ جهت ثابت دیگری را مشخص نکند.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

شناسه تغییر: ۲۶۵۴۵۲۳۴۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

SCREEN_ORIENTATION_PORTRAIT را برای برنامه‌ای که روی آن اعمال شده است فعال می‌کند. مگر اینکه OVERRIDE_ANY_ORIENTATION نیز فعال باشد، SCREEN_ORIENTATION_PORTRAIT فقط زمانی استفاده می‌شود که فعالیت هیچ جهت ثابت دیگری را مشخص نکند.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

شناسه تغییر: 319400769
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، تجزیه کردن سرصفحه‌های Content-Disposition را که با RFC 6266 مطابقت دارند مجاز می‌کند. به‌ویژه، این کار تجزیه مقادیر filename* را که می‌توانند از کدبندی نویسه متفاوتی استفاده کنند ممکن می‌سازد.

RATE_LIMIT_TOASTS

شناسه تغییر: ۱۷۴۸۴۰۶۲۸
وضعیت پیش‌فرض: این تغییر را نمی‌توان روشن/خاموش کرد. فقط توسط چارچوب همسازی ثبت می‌شود.

محدودیت نرخ را برای تعداد Toast.show() تماس‌ها فعال می‌کند تا از بارگذاری بیش‌ازحد کاربر با تعداد زیادی پیام موقت در مدت‌زمان محدود جلوگیری شود. هرگونه تلاش برای نمایش تعداد اعلان‌های موقت بیشتر از حد مجاز در بازه زمانی مشخص منجر به حذف اعلان موقت می‌شود.

STREAM_INT_DIFFERS_FROM_NEXT_INT

شناسه تغییر: 308103782
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، روش‌های Random.ints() اکنون دنباله متفاوتی از اعداد را نسبت به روش‌های Random.nextInt() برمی‌گردانند. این امر از تغییرات در https://bugs.openjdk.org/browse/JDK-8301574 ناشی می‌شود.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به تغییرات میانای برنامه‌سازی کاربردی OpenJDK در صفحه تغییرات رفتار Android 15 مراجعه کنید.

USE_EXPERIMENTAL_COMPONENT_ALIAS

شناسه تغییر: ۱۹۶۲۵۴۷۵۸
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، سیستم به بسته «android» اجازه می‌دهد از نام‌های مستعار مؤلفه استفاده کند.

USE_NEW_ISO_LOCALE_CODES

شناسه تغییر: 291868760
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 15 (سطح میانای برنامه‌سازی کاربردی 35) یا بالاتر را هدف قرار می‌دهند فعال است.

وقتی فعال باشد، کدهای زبان عبری، ییدیش، و اندونزیایی دیگر به شکل‌های منسوخ‌شده‌شان تبدیل نمی‌شوند (عبری: iw، ییدیش: ji، و اندونزیایی: in).

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به تغییرات میانای برنامه‌سازی کاربردی OpenJDK در صفحه تغییرات رفتار Android 15 مراجعه کنید.