Uyumluluk çerçevesi değişiklikleri (Android 15)

Şekil 1. Geliştirici seçeneklerindeki Uygulama Uyumluluğu Değişiklikleri ekranında, etkinleştirip devre dışı bırakabileceğiniz değişiklikler listelenir.

Bu sayfada, Android 15'teki (API düzeyi 35) uyumluluk çerçevesinin bir parçası olan açma/kapatma düğmeli değişiklikler açıklanmaktadır. Android 15'i desteklemeye ve hedeflemeye hazırlanırken uygulamanızı test etmek ve hata ayıklamak için bu listeyi geliştirici seçenekleri ve ADB komutlarıyla birlikte kullanın.

Uyumluluk çerçevesi araçlarını kullanarak yapabileceğiniz bazı işlemler şunlardır:

  • Uygulamanın targetSdkVersion özelliğini değiştirmeden hedeflenen değişiklikleri test edin. Mevcut uygulamanız üzerindeki etkiyi değerlendirmek için belirli hedeflenmiş davranış değişikliklerini zorla etkinleştirmek üzere açma/kapatma düğmelerini kullanabilirsiniz.
  • Testinizde yalnızca belirli değişikliklere odaklanın. Açma/kapatma düğmeleri, hedeflenen tüm değişiklikleri tek seferde ele almak yerine, test etmek istediğiniz değişiklikler dışındaki tüm hedeflenen değişiklikleri devre dışı bırakmanıza olanak tanır.
  • Adb üzerinden açma/kapatma düğmelerini yönetme. Otomatik test ortamınızda açma/kapatma düğmeli değişiklikleri etkinleştirmek ve devre dışı bırakmak için adb komutlarını kullanabilirsiniz.
  • Standart değişiklik kimliklerini kullanarak daha hızlı hata ayıklama Açma/kapatma düğmeli değişikliklerin her birinin, günlük çıkışında temel nedeni hızlıca hata ayıklamanıza olanak tanıyan benzersiz bir kimliği ve adı vardır.

Bu kullanım alanlarından her biri için araçları kullanmayla ilgili tüm ayrıntılar için Uyumluluk çerçevesi araçları başlıklı makaleyi inceleyin.

Uyumluluk çerçevesine dahil edilen davranış değişiklikleri

Bu bölümdeki listede, Android 15 ile ilgili değişiklikler için uyumluluk çerçevesine dahil edilen ve genel uygulama testine yardımcı olabilecek açma/kapatma düğmeli değişiklikler açıklanmaktadır.

Değişiklik listesini Varsayılan Durum'a göre filtreleyebilirsiniz.

Android 15'teki uyumluluk çerçevesinde değiştirilebilir değişiklikler

CAMERA_MIC_INDICATORS_NOT_PRESENT

Değişiklik Kimliği: 162547999
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu cihazın kamera ve mikrofon göstergelerini desteklediğini belirtir. Değişiklik Kimliği mevcut değilse CompatChanges#isChangeEnabled yöntemi true değerini döndürdüğünden, varsa değer false olur.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

Değişiklik Kimliği: 320741775
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, isSessionConfigurationSupported HAL tarafından desteklendiğinde oturum parametrelerinin uyumluluğunu da kontrol eder.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

Değişiklik Kimliği: 296478951
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, PendingIntent'ün yaratıcısı varsayılan olarak arka plan etkinliği başlatmayı engeller.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki güvenli arka plan etkinliği başlatma bölümüne bakın.

DEPRECATE_UI_FONT

Değişiklik Kimliği: 279646685
Varsayılan Durum: Android 15'i (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, uygulamanız Android 15 veya sonraki bir sürüm yüklü bir cihazda çalışırken elegantTextHeight TextView özelliği varsayılan olarak true olur. Bu durumda, varsayılan olarak kullanılan kompakt yazı tipi, büyük dikey metriklere sahip bazı komut dosyalarıyla değiştirilir ve çok daha okunaklı bir yazı tipi elde edilir.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki elegantTextHeight özelliğinin varsayılan olarak true olması ile ilgili bölüme bakın.

DOWNSCALED

Değişiklik Kimliği: 168419799
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu değişiklik, uygulama başına arabellek ölçeklendirme değişikliklerinin tamamının bekçiliğidir. Bu değişikliği etkinleştirmek, aşağıdaki ölçeklendirme faktörlerinin uygulanmasına olanak tanır:

Bu değişiklik bir uygulama paketi için etkinleştirildiğinde uygulama, en yüksek ve etkin ölçeklendirme faktörüne göre zorla yeniden boyutlandırılır. Örneğin, hem% 80 hem de% 70 (DOWNSCALE_80 ve DOWNSCALE_70) etkinleştirilirse %80 kullanılır. Hem bu değişiklik hem de DOWNSCALED_INVERSE etkinleştirildiğinde DOWNSCALED_INVERSE öncelikli olur ve ölçekleme faktörü ters şekilde uygulanır.

DOWNSCALED_INVERSE

Değişiklik Kimliği: 273564678
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu değişiklik, uygulama başına tüm tampon ters ölçeklendirme değişikliklerinin koruyucusudur. Bu değişikliğin etkinleştirilmesi, aşağıdaki ölçeklendirme faktörlerinin ters olarak uygulanmasına olanak tanır (yani çözünürlük artırılır):

Bir uygulama paketi için bu değişiklik etkinleştirildiğinde uygulama, etkin olan en düşük ölçeklendirme faktörüne zorla yeniden boyutlandırılır. Örneğin, hem% 80 hem de% 70 (DOWNSCALE_80 ve DOWNSCALE_70) etkinleştirilirse %80 kullanılır. Çünkü% 80 ölçeklendirme faktörü ters uygulandığında %125'e eşit olur. Bu değer, %70 ölçeklendirme faktörü ters uygulandığında uygulanan% 142,86 ölçeklendirmeden daha azdır. Hem bu değişiklik hem de DOWNSCALED etkinleştirildiğinde DOWNSCALED_INVERSE öncelikli olur ve ölçeklendirme faktörü ters uygulanır.

DOWNSCALE_30

Değişiklik Kimliği: 189970040
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 30'u olan bir ekranda çalıştığını varsaymaya zorlar. DOWNSCALED_INVERSE özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 333,33'ü olan bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_35

Değişiklik Kimliği: 189969749
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED de etkinleştirilirse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 35'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 285,71'ine sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_40

Değişiklik Kimliği: 189970038
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 40'ı olan bir ekranda çalıştığını varsaymaya zorlar. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 250'si olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_45

Değişiklik Kimliği: 189969782
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirilirse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 45'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın% 22,22'si dikey ve yatay çözünürlüğüne sahip bir ekranda çalıştığını varsaymaya zorlar.

DOWNSCALE_50

Değişiklik Kimliği: 176926741
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 50'si olan bir ekranda çalıştığını varsaymaya zorlar. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 200'üne sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_55

Değişiklik Kimliği: 189970036
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 55'i kadar olan bir ekranda çalıştığını varsaymaya zorlar. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 181,82'sine sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_60

Değişiklik Kimliği: 176926771
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 60'ı olan bir ekranda çalıştığını varsaymaya zorlar. DOWNSCALED_INVERSE de etkinleştirildiyse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 166,67'sine sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_65

Değişiklik Kimliği: 189969744
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirilirse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 65'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 153,85'ine sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_70

Değişiklik Kimliği: 176926829
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED de etkinleştirilirse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 70'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE de etkinleştirildiyse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 142,86'sına sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_75

Değişiklik Kimliği: 189969779
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 75'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 133,33'üne sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_80

Değişiklik Kimliği: 176926753
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

DOWNSCALED de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 80'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE de etkinleştirilmişse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 125'ine sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_85

Değişiklik Kimliği: 189969734
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED özelliği de etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamayı gerçek ekranın dikey ve yatay çözünürlüğünün% 85'i kadar olan bir ekranda çalıştığını varsaymaya zorlar. DOWNSCALED_INVERSE de etkinleştirildiyse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 117,65'ine sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_90

Değişiklik Kimliği: 182811243
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED de etkinleştirilirse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 90'ına sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE de etkinleştirildiyse bir paket için bu değişikliği etkinleştirmek, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 111,11'ine sahip bir ekranda çalıştığını varsaymasına neden olur.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

Değişiklik Kimliği: 202956589
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Bu ayar etkinleştirildiğinde ve Arrays.asList(...).toArray() kullanıldığında, elde edilen dizi artık temel dizi öğelerinin türü değil, Object bileşen türüne sahip olur. Bu nedenle aşağıdaki kod, ClassCastException hatası verir:

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

Bu durumda, elde edilen dizideki bileşen türü olarak String değerini korumak için bunun yerine Collection.toArray(Object[]) değerini kullanabilirsiniz:

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

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki OpenJDK API değişiklikleri bölümüne bakın.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

Değişiklik Kimliği: 324203798
Varsayılan Durum: Android 15'i (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, mevcut uygulamaların ClientTransaction#getActivityToken()'un SDK dışı kullanımlarıyla ilgili uygulama uyumluluğu sorunları yaşamasını önlemek için yalnızca LaunchActivityItem paketlemeye izin verilir.

ENABLE_MATCH_LOCAL_NETWORK

Değişiklik Kimliği: 319212206
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde uygulamalar varsayılan olarak yerel ağlardan ağ geri çağırma alır. Android 14 (API düzeyi 34) veya önceki sürümleri hedefleyen uygulamaların, yerel ağlardan ConnectivityManager.NetworkCallback almak için NetworkRequest öğesinin NetworkCapabilities bölümüne NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK eklemesi gerekir.

ENABLE_STRICT_FORMATTER_VALIDATION

Değişiklik Kimliği: 270674727
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, String.format() ve Formatter.format() API'leri kullanırken bağımsız değişken dizini, işaretler, genişlik ve hassasiyet doğrulaması artık daha katı.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki OpenJDK API değişiklikleri bölümüne bakın.

ENFORCE_EDGE_TO_EDGE

Değişiklik Kimliği: 309578419
Varsayılan Durum: Android 15'i (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Bu özellik etkinleştirildiğinde, Android 15 veya sonraki sürümleri çalıştıran cihazlarda uygulamalar varsayılan olarak kenardan kenara olur.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki kenardan kenara yaptırım bölümüne bakın.

ENFORCE_STRICT_QUERY_BUILDER

Değişiklik Kimliği: 143231523
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde SQLiteQueryBuilder, tüm CalendarProvider2 sorgu seçimlerini kötü amaçlı bağımsız değişkenler açısından doğrular.

FGS_BOOT_COMPLETED_RESTRICTIONS

Değişiklik Kimliği: 296558535
Varsayılan Durum: Android 15'i (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, ön plan hizmeti arka planı, aşağıdakiler hariç tüm türler için BOOT_COMPLETED yayınlarından başlatılır:

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki Ön plan hizmetleri başlatan BOOT_COMPLETED yayın alıcılarıyla ilgili kısıtlamalar bölümüne bakın.

FGS_INTRODUCE_TIME_LIMITS

Değişiklik Kimliği: 317799821
Varsayılan Durum: Android 15'i (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Belirli türlerdeki ön plan hizmetlerinin etkinleştirildiğinde zaman sınırı vardır. Rahatsız edici türün ön plan hizmeti, ayrılan zaman sınırı içinde durdurulmazsa Service.onTimeout(int, int) kullanılarak geri çağrı alır ve birkaç saniye içinde durdurulmalıdır. Bu işlemi yapamayan uygulamalar ANR olarak tanımlanır.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişikliği sayfasındaki veri senkronizasyonu ve medya işleme ön plan hizmet türleri için zaman aşımı davranışıyla ilgili bölümlere bakın.

FGS_SAW_RESTRICTIONS

Değişiklik Kimliği: 319471980
Varsayılan Durum: Android 15'i (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, Sistem Uyarı Penceresi'nde ön plan hizmeti arka plan başlatmasını, halihazırda bir Sistem Yer Paylaşım Penceresi olmadığı sürece tüm türler için devre dışı bırakır.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki Bir uygulama SYSTEM_ALERT_WINDOW iznine sahipken ön plan hizmetlerinin başlatılmasıyla ilgili kısıtlamalar hakkındaki bölüme bakın.

FORCE_DISABLE_HEVC_SUPPORT

Değişiklik Kimliği: 174227820
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bir uygulamanın HEVC medya özelliğini desteklemesini zorla devre dışı bırakma Uygulamalar, desteklenen medya özelliklerini manifest dosyalarında beyan etmelidir. Ancak bu işaret, bir uygulamayı HEVC'yi desteklememeye zorlamak için kullanılabilir. Bu da, HEVC'de kodlanmış medyaya erişirken kod dönüştürmeyi zorlamak için kullanılabilir. Bu işaret ayarlandığında uygulamalar için işletim sistemi düzeyindeki varsayılanlar geçersiz kılınır. Varsayılan olarak devre dışıdır. Yani işletim sistemi varsayılanları önceliklidir. Hem bu işaret hem de FORCE_ENABLE_HEVC_SUPPORT etkinleştirilirse işletim sistemi her iki işareti de yoksayar.

FORCE_ENABLE_HEVC_SUPPORT

Değişiklik Kimliği: 174228127
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bir uygulamayı HEVC medya özelliğini destekleyecek şekilde etkinleştirmeye zorla Bu işaretin ayarlanması, uygulamalar için OS düzeyindeki tüm varsayılan ayarları geçersiz kılar. Bu özellik varsayılan olarak devre dışıdır. Yani işletim sistemi varsayılanları öncelikli olur. Hem bu işaret hem de FORCE_DISABLE_HEVC_SUPPORT etkinse işletim sistemi her iki işareti de yoksayar.

FORCE_NON_RESIZE_APP

Değişiklik Kimliği: 181146395
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Uygulandığı paketlerin yeniden boyutlandırılamaz olmasını sağlar.

FORCE_RESIZE_APP

Değişiklik Kimliği: 174042936
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulandığı paketleri yeniden boyutlandırılabilir olmaya zorlar. Yalnızca tam ekran pencere modunda yeniden boyutlandırmaya izin verilir ancak uygulamayı yeniden boyutlandırılabilir çoklu pencere moduna zorlanmaz.

GWP_ASAN

Değişiklik Kimliği: 145634846
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulamalarda örneklenmiş yerel bellek hatası algılamayı etkinleştirir.

GWP-ASan'ı kullanma hakkında daha fazla bilgi edinmek için GWP-ASan kılavuzuna bakın.

IS_DEVICE_OWNER_USER_AWARE

Değişiklik Kimliği: 307233716
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde isDeviceOwnerApp(String) yöntemi, bağlamda bulunan kullanıcıyı kullanır. Android 14 (API düzeyi 34) veya önceki sürümleri hedefleyen uygulamalarda, çağıran işlemin kullanıcısı kullanılır (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

Değişiklik Kimliği: 308670109
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Bu ayar etkinleştirildiğinde uygulamalar, cihazdaki Rahatsız Etmeyin (DND) özelliğinin genel durumunu veya politikasını (kullanıcı ayarlarını değiştirerek ya da Rahatsız Etmeyin modunu kapatarak) değiştiremez. Bunun yerine, uygulamaların bir AutomaticZenRule sağlaması gerekir. Sistem, bu AutomaticZenRule değerini mevcut en kısıtlayıcı politikanın kazandığı şema ile birleştirerek global bir politika oluşturur.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki Uygulamaların Rahatsız Etmeyin modunun genel durumunu değiştirebileceği durumlarda yapılan değişiklikler bölümüne bakın.

NATIVE_HEAP_ZERO_INIT

Değişiklik Kimliği: 178038272
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Yerel yığın bellek ayırmalarının otomatik olarak sıfırlamasını etkinleştirin.

NATIVE_MEMTAG_ASYNC

Değişiklik Kimliği: 145772972
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu işlemde eşzamansız (ASYNC) bellek etiketi kontrolünü etkinleştirin. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımı etkiler.

NATIVE_MEMTAG_SYNC

Değişiklik Kimliği: 177438394
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu işlemde senkronize (SYNC) bellek etiketi kontrolünü etkinleştirir. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımı etkiler. Hem NATIVE_MEMTAG_ASYNC hem de bu seçenek etkinleştirilirse bu seçenek öncelikli olur ve MTE, SYNC modunda etkinleştirilir.

OVERRIDE_ANY_ORIENTATION

Değişiklik Kimliği: 265464455
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu değişiklik etkinleştirildiğinde, etkinlik tarafından istenen yöne bakılmaksızın aşağıdaki yön ayarları geçersiz kılınabilir:

OVERRIDE_ANY_ORIENTATION_TO_USER

Değişiklik Kimliği: 310816437
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde, etkinlik tarafından istenen yönleri geçersiz kılan SCREEN_ORIENTATION_USER özelliğini etkinleştirir. Sabit yönlü uygulamalar, bu geçersiz kılma ile ignoreOrientationRequest'ün etkin olduğu büyük ekranlı cihazlarda tam ekran olarak geçersiz kılınabilir.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

Değişiklik Kimliği: 314961188
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu ayar etkinleştirildiğinde sabit yönlü uygulamalar için serbest biçimli pencere modundaki kamera uyumluluğu işleminden geçersiz kılmanın uygulandığı paketleri hariç tutar.

Serbest biçimli pencere modunda uyumluluk işlemi, uygulama penceresine sinemaskop uygulayarak ve kamera özelliklerini uygulamaların genel olarak dikey cihazlarda beklediği şekilde (sırasıyla arka ve ön kamera için 90 ve 270 derece sensör döndürme) ve ekran döndürmeyi 0 olarak ayarlayarak dikey bir cihazda çalışan emülasyon yapar.

Değerlendirmeye iyi yanıt vermeyen uygulamaların uyumluluk değerlendirmesini devre dışı bırakmak için bu işareti kullanın.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Değişiklik Kimliği: 191514214
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu değişiklik etkinleştirildiğinde, uygulandığı paketler android:resizeableActivity'nin mevcut değerini ve Android 6.0 (API düzeyi 23) veya daha düşük bir hedef SDK'yı yoksaymaya ve etkinliği yeniden boyutlandırılamaz olarak değerlendirmeye zorlanır. Bu durumda, kameranın döndürülmesi ve kırpılmasıyla ilgili değer yalnızca mevcut ekran döndürmesi dikkate alınarak gereken telafi değerine bağlıdır.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Değişiklik Kimliği: 189229956
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu değişiklik etkinleştirildiğinde, uygulandığı paketleri varsayılan kamera döndürme ve kırpma davranışını geçersiz kılıp her zaman CaptureRequest.SCALER_ROTATE_AND_CROP_NONE döndürmeye zorlar.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

Değişiklik Kimliği: 316897322
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Etkinleştirildiğinde, MediaProjectionConfig#createConfigForDefaultDisplay kullanımının geçersiz kılınmasını sağlayarak kullanıcılara MediaProjection oturumu başlatırken tek bir uygulamayı veya ekranın tamamını yakalama seçeneği sunulur.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Değişiklik Kimliği: 266124927
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulandığı uygulamada SCREEN_ORIENTATION_REVERSE_LANDSCAPE etkinleştirir. OVERRIDE_ANY_ORIENTATION de etkinleştirilmediyse SCREEN_ORIENTATION_REVERSE_LANDSCAPE yalnızca aktivitede yatay yön belirtildiğinde kullanılır. Bu değişikliği etkinleştirmek, uygulamanızın davranışını yatay yönün Surface.ROTATION_90 ile eşleştiği cihazlar ve Surface.ROTATION_270 ile eşleştiği cihazlar arasındaki farklılıklar açısından test etmenize yardımcı olabilir.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

Değişiklik Kimliği: 332679525
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde ekran kesimi modu davranışını geçersiz kılar. Bu durum yalnızca kenardan kenara görüntüleme zorunlu kılınmamışsa geçerli olur.

OVERRIDE_MIN_ASPECT_RATIO

Değişiklik Kimliği: 174042980
Varsayılan Durum: Tüm uygulamalar için devre dışıdır.

Bu değişiklik, belirli bir minimum en boy oranını zorunlu kılan tüm değişikliklerin bekçisidir. Bu değişikliği etkinleştirmek, aşağıdaki minimum en boy oranlarının uygulanmasına olanak tanır:

Bir uygulama paketi için bu değişiklik etkinleştirildiğinde, uygulamanın manifest değerinin daha yüksek olmadığı sürece uygulamanın manifest'inde belirtilen minimum en boy oranı, etkinleştirilen en büyük en boy oranına göre geçersiz kılınır.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Değişiklik Kimliği: 218959984
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde, mevcut tüm ekran alanını kullanmak için dikey tam ekranda minimum en boy oranı kısıtlamasını geçersiz kılar.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Değişiklik Kimliği: 180326787
Varsayılan Durum: Tüm uygulamalar için devre dışı.

OVERRIDE_MIN_ASPECT_RATIO etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, etkinliğin minimum en boy oranını OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE ile tanımlanan büyük bir değere ayarlar.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Değişiklik Kimliği: 180326845
Varsayılan Durum: Tüm uygulamalar için devre dışı.

OVERRIDE_MIN_ASPECT_RATIO de etkinleştirildiğinde, bir paket için bu değişikliği etkinleştirmek, etkinliğin minimum en boy oranını OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE tarafından tanımlanan orta bir değere ayarlar.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

Değişiklik Kimliği: 325586858
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde, belirli bir minimum en boy oranını uygulamaya zorlayan işlemleri yalnızca bir uygulama kameraya bağlıyken uygulanacak şekilde kısıtlar.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Değişiklik Kimliği: 203647190
Varsayılan Durum: Tüm uygulamalar için etkindir.

OVERRIDE_MIN_ASPECT_RATIO seçeneği de etkinleştirildiğinde bu değişiklik, bir etkinliğin minimum en boy oranını belirli bir değere zorlayan diğer değişiklikleri (ör. OVERRIDE_MIN_ASPECT_RATIO_LARGE ve OVERRIDE_MIN_ASPECT_RATIO_MEDIUM) dikey yönü de olan etkinliklerle sınırlandırır.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Değişiklik Kimliği: 236283604
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu değişiklik etkinleştirildiğinde, uygulandığı paketler, cihaz üreticilerinin belirleyebileceği yön kısıtlamalarını yoksayma kapsamından çıkarılır.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Değişiklik Kimliği: 265451093
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulandığı uygulamada SCREEN_ORIENTATION_NOSENSOR etkinleştirir. OVERRIDE_ANY_ORIENTATION de etkinleştirilmediği sürece SCREEN_ORIENTATION_NOSENSOR yalnızca etkinlikte başka sabit bir yön belirtilmediğinde kullanılır.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Değişiklik Kimliği: 265452344
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulandığı uygulamada SCREEN_ORIENTATION_PORTRAIT etkinleştirir. OVERRIDE_ANY_ORIENTATION etkinleştirilmediği sürece SCREEN_ORIENTATION_PORTRAIT yalnızca etkinlik başka bir sabit yön belirtmediğinde kullanılır.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

Değişiklik Kimliği: 319400769
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde, RFC 6266'ya uygun Content-Disposition üst bilgilerinin ayrıştırılmasına olanak tanır. Özellikle bu, farklı bir karakter kodlaması kullanabilen filename* değerlerinin ayrıştırılmasını sağlar.

RATE_LIMIT_TOASTS

Değişiklik Kimliği: 174840628
Varsayılan Durum: Bu değişiklik değiştirilemez. Yalnızca uyumluluk çerçevesi tarafından günlüğe kaydedilir.

Kullanıcının sınırlı bir süre içinde çok fazla pop-up'la yüklenmesiToast.show() Belirli bir zaman aralığında izin verilenden daha fazla kısa ileti gösterme girişiminde bulunulursa tost silinir.

STREAM_INT_DIFFERS_FROM_NEXT_INT

Değişiklik Kimliği: 308103782
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde Random.ints() yöntemleri artık Random.nextInt() yöntemlerinden farklı bir sayı dizisi döndürüyor. Bu, https://bugs.openjdk.org/browse/JDK-8301574 adresindeki değişikliklerden kaynaklanıyor.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki OpenJDK API değişiklikleri bölümüne bakın.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Değişiklik Kimliği: 196254758
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde sistem, "android" paketinin bileşen takma adlarını kullanmasına izin verir.

USE_NEW_ISO_LOCALE_CODES

Değişiklik Kimliği: 291868760
Varsayılan Durum: Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar için etkindir.

Etkinleştirildiğinde İbranice, Yidiş ve Endonezya dil kodları artık eski biçimlerine (İbranice: iw, Yidiş: ji ve Endonezya: in) dönüştürülmez.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 15 davranış değişiklikleri sayfasındaki OpenJDK API değişiklikleri bölümüne bakın.