Các thay đổi về khung tương thích (Android 15)

Hình 1. Màn hình Thay đổi về khả năng tương thích của ứng dụng trong Tuỳ chọn cho nhà phát triển liệt kê các thay đổi mà bạn bật/tắt được.

Trang này mô tả các thay đổi bật/tắt được, là một phần của khung tương thích trong Android 15 (API cấp 35). Hãy sử dụng danh sách này cùng với tuỳ chọn cho nhà phát triển và lệnh ADB để kiểm thử và gỡ lỗi ứng dụng khi bạn chuẩn bị hỗ trợ và nhắm mục tiêu Android 15.

Bạn có thể sử dụng các công cụ trong khung tương thích để làm một số việc sau đây:

  • Kiểm thử các thay đổi được nhắm mục tiêu mà không thực sự thay đổi targetSdkVersion của ứng dụng. Bạn có thể sử dụng nút bật/tắt để buộc bật những thay đổi cụ thể về hành vi được nhắm đến nhằm đánh giá tác động đối với ứng dụng hiện tại.
  • Chỉ tập trung kiểm thử những thay đổi cụ thể. Thay vì phải cùng lúc giải quyết mọi thay đổi được nhắm đến, nút bật/tắt cho phép bạn chỉ bật những thay đổi mà mình muốn kiểm thử.
  • Quản lý nút bật/tắt thông qua adb. Bạn có thể sử dụng các lệnh adb để bật và tắt các thay đổi bật/tắt được trong môi trường kiểm thử tự động.
  • Sử dụng mã nhận dạng thay đổi tiêu chuẩn để gỡ lỗi nhanh hơn. Các thay đổi bật/tắt được sẽ có một mã nhận dạng và tên duy nhất mà bạn có thể dùng để gỡ lỗi nhanh nguyên nhân gốc trong dữ liệu đầu ra của nhật ký.

Để biết toàn bộ thông tin chi tiết về cách sử dụng các công cụ đối với từng trường hợp sử dụng này, hãy xem bài viết Các công cụ khung tương thích.

Các thay đổi về hành vi được đưa vào khung tương thích

Danh sách trong phần này mô tả các thay đổi bật/tắt được có trong khung tương thích cho các thay đổi liên quan đến Android 15 và các thay đổi bật/tắt được có thể giúp kiểm thử ứng dụng chung.

Bạn có thể lọc danh sách các thay đổi theo Trạng thái mặc định của các thay đổi đó.

Các thay đổi bật/tắt được trong khung tương thích trong Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

Mã thay đổi: 162547999
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Cho biết rằng thiết bị này có hỗ trợ các chỉ báo máy ảnh và micrô. Giá trị là false nếu có, vì phương thức CompatChanges#isChangeEnabled sẽ trả về true nếu không có Mã thay đổi.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

Mã thay đổi: 320741775
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, isSessionConfigurationSupported cũng sẽ kiểm tra khả năng tương thích của các tham số phiên khi được HAL hỗ trợ.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

Mã thay đổi: 296478951
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, theo mặc định, trình tạo PendingIntent sẽ chặn các lần khởi chạy hoạt động trong nền.

Để tìm hiểu thêm về thay đổi này, hãy xem phần trong trang các thay đổi về hành vi của Android 15 liên quan đến các lần khởi chạy hoạt động ở chế độ nền được bảo mật.

DEPRECATE_UI_FONT

Mã thay đổi: 279646685
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, thuộc tính TextView elegantTextHeight sẽ trở thành true theo mặc định khi ứng dụng của bạn đang chạy trên một thiết bị chạy Android 15 trở lên, thay thế phông chữ thu gọn được sử dụng theo mặc định bằng một số tập lệnh có các chỉ số dọc lớn bằng một phông chữ dễ đọc hơn nhiều.

Để tìm hiểu thêm về thay đổi này, hãy xem phần này trên trang Các thay đổi trong hành vi của Android 15 về thuộc tính loTextHeight mặc định là true.

DOWNSCALED

Mã thay đổi: 168419799
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Thay đổi này là yếu tố thúc đẩy tất cả thay đổi về việc giảm quy mô vùng đệm cho mỗi ứng dụng. Khi bật thay đổi này, hệ thống sẽ áp dụng các hệ số tỷ lệ sau:

Khi thay đổi này được bật đối với một gói ứng dụng, ứng dụng sẽ bị buộc đổi kích thước thành hệ số tỷ lệ cao nhất được bật. Ví dụ: tỷ lệ 80% sẽ được sử dụng nếu bật cả tỷ lệ 80% và 70% (DOWNSCALE_80DOWNSCALE_70). Khi cả thay đổi này và DOWNSCALED_INVERSE đều được bật, DOWNSCALED_INVERSE sẽ được ưu tiên và hệ số tỷ lệ được áp dụng theo hướng ngược lại.

DOWNSCALED_INVERSE

Mã thay đổi: 273564678
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Thay đổi này là yếu tố thúc đẩy tất cả thay đổi về việc giảm quy mô vùng đệm nghịch đảo cho mỗi ứng dụng. Khi bật thay đổi này, hệ thống sẽ áp dụng các hệ số tỷ lệ sau đây theo hướng ngược lại (tức là độ phân giải được tăng lên):

Khi thay đổi này được bật đối với một gói ứng dụng, ứng dụng sẽ bị buộc đổi kích thước thành hệ số tỷ lệ thấp nhất được bật. Ví dụ: 80% sẽ được sử dụng nếu bật cả 80% và 70% (DOWNSCALE_80DOWNSCALE_70) vì khi áp dụng nghịch đảo, hệ số tỷ lệ 80% bằng 125%, thấp hơn tỷ lệ 142,86% được áp dụng khi áp dụng nghịch đảo hệ số tỷ lệ 70%. Khi cả thay đổi này và DOWNSCALED đều được bật, DOWNSCALED_INVERSE sẽ được ưu tiên và hệ số tỷ lệ được áp dụng theo chiều ngược lại.

DOWNSCALE_30

Mã thay đổi: 189970040
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 30%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 333,33%.

DOWNSCALE_35

Mã thay đổi: 189969749
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 35%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 285,71%.

DOWNSCALE_40

Mã thay đổi: 189970038
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 40%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 250%.

DOWNSCALE_45

Mã thay đổi: 189969782
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 45%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 222,22%.

DOWNSCALE_50

Mã thay đổi: 176926741
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 50%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 200%.

DOWNSCALE_55

Mã thay đổi: 189970036
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 55%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 181,82%.

DOWNSCALE_60

Mã thay đổi: 176926771
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 60%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 166,67%.

DOWNSCALE_65

Mã thay đổi: 189969744
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 65%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 153,85%.

DOWNSCALE_70

Mã thay đổi: 176926829
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 70%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 142,86%.

DOWNSCALE_75

Mã thay đổi: 189969779
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 75%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 133,33%.

DOWNSCALE_80

Mã thay đổi: 176926753
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 80%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 125%.

DOWNSCALE_85

Mã thay đổi: 189969734
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 85%. Nếu DOWNSCALED_INVERSE được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 117,65%.

DOWNSCALE_90

Mã thay đổi: 182811243
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu DOWNSCALED được bật cùng, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 90%. Nếu DOWNSCALED_INVERSE cũng được bật, việc bật thay đổi này cho một gói sẽ buộc ứng dụng giả định rằng nó đang chạy trên màn hình có tỷ lệ độ phân giải thực theo chiều dọc và chiều ngang là 111,11%.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

Mã thay đổi: 202956589
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, khi sử dụng Arrays.asList(...).toArray(), loại thành phần của mảng thu được giờ đây sẽ là Object, không phải là loại phần tử của mảng cơ bản. Vì vậy, mã sau đây sẽ gửi ClassCastException:

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

Trong trường hợp này, để duy trì String làm loại thành phần trong mảng thu được, bạn có thể sử dụng Collection.toArray(Object[]):

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

Để tìm hiểu thêm về thay đổi này, hãy xem phần về Các thay đổi đối với API OpenJDK trên trang Các thay đổi về hành vi của Android 15.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

Mã thay đổi: 324203798
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, để ngăn mọi ứng dụng hiện có gặp vấn đề về khả năng tương thích của ứng dụng với việc sử dụng ClientTransaction#getActivityToken() không phải SDK, bạn chỉ được phép gói LaunchActivityItem.

ENABLE_MATCH_LOCAL_NETWORK

Mã thay đổi: 319212206
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi bạn bật tuỳ chọn này, theo mặc định, các ứng dụng sẽ nhận được lệnh gọi lại mạng từ mạng cục bộ. Các ứng dụng nhắm đến Android 14 (API cấp 34) trở xuống vẫn cần thêm NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK vào NetworkCapabilities của NetworkRequest để nhận ConnectivityManager.NetworkCallback từ mạng cục bộ.

ENABLE_STRICT_FORMATTER_VALIDATION

Mã thay đổi: 270674727
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, việc xác thực chỉ mục, cờ, chiều rộng và độ chính xác của đối số sẽ nghiêm ngặt hơn khi sử dụng API String.format()Formatter.format().

Để tìm hiểu thêm về thay đổi này, hãy xem phần về Các thay đổi đối với API OpenJDK trên trang Các thay đổi về hành vi của Android 15.

ENFORCE_EDGE_TO_EDGE

Mã thay đổi: 309578419
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, các ứng dụng sẽ hiển thị tràn viền theo mặc định trên các thiết bị chạy Android 15 trở lên.

Để tìm hiểu thêm về thay đổi này, hãy xem phần về Thực thi chế độ tràn viền trên trang Các thay đổi về hành vi của Android 15.

ENFORCE_STRICT_QUERY_BUILDER

Mã thay đổi: 143231523
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, SQLiteQueryBuilder sẽ xác minh đối số độc hại trên tất cả lựa chọn truy vấn CalendarProvider2.

FGS_BOOT_COMPLETED_RESTRICTIONS

Mã thay đổi: 296558535
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, tắt chế độ nền của dịch vụ trên nền trước sẽ bắt đầu từ thông báo BOOT_COMPLETED cho mọi loại, ngoại trừ:

Để tìm hiểu thêm về thay đổi này, hãy xem phần trong trang các thay đổi về hành vi của Android 15 liên quan đến Các hạn chế đối với trình thu phát sóng BOOT_COMPLETED khởi chạy dịch vụ trên nền trước.

FGS_INTRODUCE_TIME_LIMITS

Mã thay đổi: 317799821
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, một số loại dịch vụ trên nền trước sẽ có giới hạn thời gian. Nếu không dừng dịch vụ trên nền trước thuộc loại vi phạm trong giới hạn thời gian được phân bổ, thì dịch vụ đó sẽ nhận được lệnh gọi lại bằng Service.onTimeout(int, int) và phải dừng trong vòng vài giây. Nếu không thực hiện được việc này, ứng dụng sẽ được khai báo là lỗi ANR.

Để tìm hiểu thêm về thay đổi này, hãy xem các phần trong trang Các thay đổi về hành vi của Android 15 về hành vi hết thời gian chờ đối với các loại dịch vụ trên nền trước đồng bộ hoá dữ liệu xử lý nội dung nghe nhìn.

FGS_SAW_RESTRICTIONS

Mã thay đổi: 319471980
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi bật, chế độ này sẽ tắt các lượt khởi động trong nền của dịch vụ trên nền trước trong Cửa sổ cảnh báo hệ thống đối với mọi loại trừ phi đã có Cửa sổ lớp phủ hệ thống.

Để tìm hiểu thêm về thay đổi này, hãy xem phần trong trang các thay đổi về hành vi của Android 15 liên quan đến các quy tắc hạn chế đối với việc bắt đầu dịch vụ trên nền trước trong khi ứng dụng có quyền SYSTEM_ALERT_WINDOW.

FORCE_DISABLE_HEVC_SUPPORT

Mã thay đổi: 174227820
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc tắt chế độ hỗ trợ tính năng đa phương tiện HEVC trên một ứng dụng. Ứng dụng nên khai báo các tính năng đa phương tiện được hỗ trợ trong tệp kê khai, nhưng cờ này có thể được dùng để buộc ứng dụng không hỗ trợ HEVC, do đó, buộc chuyển mã khi truy cập nội dung đa phương tiện được mã hoá theo HEVC. Việc đặt cờ này sẽ ghi đè mọi chế độ mặc định cấp hệ điều hành đối với ứng dụng. Trạng thái mặc định là tắt, có nghĩa là chế độ mặc định của hệ điều hành sẽ được ưu tiên. Nếu cả cờ này và FORCE_ENABLE_HEVC_SUPPORT đều được bật, thì hệ điều hành sẽ bỏ qua cả hai cờ.

FORCE_ENABLE_HEVC_SUPPORT

Mã thay đổi: 174228127
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc một ứng dụng bật chế độ hỗ trợ tính năng đa phương tiện HEVC. Các ứng dụng nên khai báo tính năng đa phương tiện được hỗ trợ trong tệp kê khai, nhưng cờ này có thể dùng để buộc một ứng dụng hỗ trợ HEVC, do đó, tránh chuyển mã khi truy cập vào nội dung đa phương tiện được mã hoá theo HEVC. Việc đặt cờ này sẽ ghi đè mọi chế độ mặc định cấp hệ điều hành đối với ứng dụng. Trạng thái mặc định là tắt, có nghĩa là chế độ mặc định của hệ điều hành sẽ được ưu tiên. Nếu bạn bật cả cờ này và FORCE_DISABLE_HEVC_SUPPORT, hệ điều hành sẽ bỏ qua cả hai cờ.

FORCE_NON_RESIZE_APP

Mã thay đổi: 181146395
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc các gói được áp dụng không được thay đổi kích thước.

FORCE_RESIZE_APP

Mã thay đổi: 174042936
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Buộc các gói được áp dụng phải đổi kích thước được. Chúng tôi chỉ cho phép đổi kích thước ở chế độ cửa sổ toàn màn hình, nhưng không buộc ứng dụng phải thay đổi thành chế độ nhiều cửa sổ có thể đổi kích thước.

GWP_ASAN

Mã thay đổi: 145634846
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng lấy mẫu để phát hiện lỗi bộ nhớ gốc trong ứng dụng.

Để tìm hiểu thêm về cách sử dụng GWP-ASan, hãy xem bài viết Hướng dẫn về GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

Mã thay đổi: 307233716
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, phương thức isDeviceOwnerApp(String) sẽ sử dụng người dùng có trong ngữ cảnh. Đối với các ứng dụng nhắm đến Android 14 (API cấp 34) trở xuống, người dùng của quy trình gọi sẽ được sử dụng (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

Mã thay đổi: 308670109
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, các ứng dụng sẽ không thể thay đổi trạng thái chung hoặc chính sách của chế độ Không làm phiền (DND) trên thiết bị (bằng cách sửa đổi cài đặt người dùng hoặc tắt chế độ Không làm phiền). Thay vào đó, các ứng dụng phải đóng góp một AutomaticZenRule. Hệ thống sẽ kết hợp dữ liệu này thành một chính sách chung với cơ chế chiến thắng chính sách mang tính hạn chế nhất hiện có.

Để tìm hiểu thêm về thay đổi này, hãy xem phần về Những thay đổi đối với thời điểm ứng dụng có thể sửa đổi trạng thái chung của chế độ Không làm phiền trên trang Các thay đổi về hành vi của Android 15.

NATIVE_HEAP_ZERO_INIT

Mã thay đổi: 178038272
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng tự động khởi chạy không phân bổ bộ nhớ vùng nhớ khối xếp gốc.

NATIVE_MEMTAG_ASYNC

Mã thay đổi: 145772972
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng kiểm tra bộ nhớ không đồng bộ (ASYNC) trong quá trình này. Cờ này chỉ ảnh hưởng đến phần cứng hỗ trợ Tiện ích gắn thẻ bộ nhớ (MTE) ARM.

NATIVE_MEMTAG_SYNC

Mã thay đổi: 177438394
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật tính năng kiểm tra thẻ nhớ đồng bộ (SYNC) trong quá trình này. Cờ này chỉ ảnh hưởng đến phần cứng hỗ trợ Tiện ích gắn thẻ bộ nhớ (MTE) ARM. Nếu cả NATIVE_MEMTAG_ASYNC và tuỳ chọn này đều được bật, thì tuỳ chọn này sẽ được ưu tiên và MTE sẽ được bật ở chế độ SYNC.

OVERRIDE_ANY_ORIENTATION

Mã thay đổi: 265464455
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, thay đổi này sẽ cho phép áp dụng các chế độ ghi đè hướng sau, bất kể hoạt động yêu cầu hướng nào:

OVERRIDE_ANY_ORIENTATION_TO_USER

Mã thay đổi: 310816437
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, hãy bật SCREEN_ORIENTATION_USER. Thao tác này sẽ ghi đè mọi hướng mà hoạt động yêu cầu. Bạn có thể ghi đè các ứng dụng có hướng cố định thành chế độ toàn màn hình trên các thiết bị có màn hình lớn đã bật ignoreOrientationRequest bằng chế độ ghi đè này.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

Mã thay đổi: 314961188
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, hãy loại trừ các gói được áp dụng chế độ ghi đè khỏi chế độ xử lý khả năng tương thích với máy ảnh ở chế độ cửa sổ hình dạng tuỳ ý cho các ứng dụng có hướng cố định.

Ở chế độ cửa sổ hình dạng tuỳ ý, phương thức xử lý khả năng tương thích sẽ mô phỏng việc chạy trên thiết bị dọc bằng cách tạo khung hòm thư cho cửa sổ ứng dụng và thay đổi các đặc điểm của máy ảnh thành những đặc điểm mà các ứng dụng thường mong đợi trong thiết bị dọc: xoay cảm biến 90 và 270 độ cho máy ảnh sau và máy ảnh trước, tương ứng, đồng thời đặt chế độ xoay màn hình thành 0.

Sử dụng cờ này để tắt tính năng xử lý khả năng tương thích cho những ứng dụng không phản hồi tốt với tính năng này.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Mã thay đổi: 191514214
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, thay đổi này sẽ buộc các gói được áp dụng bỏ qua giá trị hiện tại của android:resizeableActivity cũng như SDK mục tiêu bằng hoặc thấp hơn Android 6.0 (API cấp 23) và xem hoạt động là không thể đổi kích thước. Trong trường hợp này, giá trị góc xoay và kích thước cắt của máy ảnh sẽ chỉ phụ thuộc vào giá trị bù cần thiết khi tính đến góc xoay màn hình hiện tại.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Mã thay đổi: 189229956
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, thay đổi này sẽ buộc các gói được áp dụng ghi đè hành vi xoay và cắt máy ảnh mặc định và luôn trả về CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

Mã thay đổi: 316897322
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, hãy đảm bảo rằng người dùng có thể chọn chụp một ứng dụng hoặc toàn bộ màn hình khi bắt đầu phiên MediaProjection, ghi đè chế độ sử dụng MediaProjectionConfig#createConfigForDefaultDisplay.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Mã thay đổi: 266124927
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật SCREEN_ORIENTATION_REVERSE_LANDSCAPE cho ứng dụng được áp dụng. Trừ phi bạn bật OVERRIDE_ANY_ORIENTATION, SCREEN_ORIENTATION_REVERSE_LANDSCAPE chỉ được dùng khi hoạt động chỉ định hướng ngang. Việc bật thay đổi này có thể giúp bạn kiểm thử hành vi của ứng dụng để tìm sự khác biệt giữa các thiết bị mà hướng ngang tương ứng với Surface.ROTATION_90 và các thiết bị mà hướng ngang tương ứng với Surface.ROTATION_270.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

Mã thay đổi: 332679525
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, chế độ này sẽ ghi đè bố cục trong hành vi của chế độ cắt màn hình. Điều này sẽ chỉ áp dụng nếu không thực thi chế độ tràn viền.

OVERRIDE_MIN_ASPECT_RATIO

Mã thay đổi: 174042980
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Thay đổi này là yếu tố thúc đẩy tất cả thay đổi có hành vi buộc áp dụng tỷ lệ khung hình tối thiểu nhất định. Khi bật đổi thay đổi này, hệ thống sẽ áp dụng tỷ lệ khung hình tối thiểu sau đây:

Khi thay đổi này được bật đối với một gói ứng dụng, tỷ lệ khung hình tối thiểu được cung cấp trong tệp kê khai của ứng dụng sẽ được ghi đè thành tỷ lệ khung hình lớn nhất được bật, trừ phi giá trị trong tệp kê khai của ứng dụng cao hơn.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Mã thay đổi: 218959984
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, chế độ này sẽ ghi đè giới hạn về tỷ lệ khung hình tối thiểu ở chế độ toàn màn hình dọc để sử dụng tất cả không gian màn hình có sẵn.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Mã thay đổi: 180326787
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc bật thay đổi này cho một gói sẽ thiết lập tỷ lệ khung hình tối thiểu của hoạt động thành một giá trị lớn do OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE xác định.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Mã thay đổi: 180326845
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc bật thay đổi này cho một gói sẽ thiết lập tỷ lệ khung hình tối thiểu của hoạt động thành một giá trị trung bình do OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE xác định.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

Mã thay đổi: 325586858
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi được bật, chế độ này sẽ hạn chế các chế độ xử lý buộc áp dụng một tỷ lệ khung hình tối thiểu nhất định để các chế độ này chỉ áp dụng khi ứng dụng được kết nối với máy ảnh.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Mã thay đổi: 203647190
Trạng thái mặc định: Bật đối với tất cả ứng dụng.

Nếu OVERRIDE_MIN_ASPECT_RATIO được bật cùng, việc thay đổi này sẽ giới hạn mọi thay đổi khác buộc tỷ lệ khung hình tối thiểu của một hoạt động thành một giá trị nhất định, chẳng hạn như OVERRIDE_MIN_ASPECT_RATIO_LARGEOVERRIDE_MIN_ASPECT_RATIO_MEDIUM – đối với các hoạt động cũng có hướng dọc.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Mã thay đổi: 236283604
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, thay đổi này sẽ loại trừ các gói áp dụng khỏi các hạn chế bỏ qua hướng mà nhà sản xuất thiết bị có thể đặt.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Mã thay đổi: 265451093
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật SCREEN_ORIENTATION_NOSENSOR cho ứng dụng được áp dụng. Trừ phi OVERRIDE_ANY_ORIENTATION được bật, SCREEN_ORIENTATION_NOSENSOR chỉ được dùng khi hoạt động không chỉ định bất kỳ hướng cố định nào khác.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Mã thay đổi: 265452344
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Bật SCREEN_ORIENTATION_PORTRAIT cho ứng dụng được áp dụng. Trừ phi bạn cũng bật OVERRIDE_ANY_ORIENTATION, SCREEN_ORIENTATION_PORTRAIT chỉ được dùng khi hoạt động không chỉ định hướng cố định nào khác.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

Mã thay đổi: 319400769
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi bật, cho phép phân tích cú pháp tiêu đề Nội dung-Bố trí tuân thủ RFC 6266. Cụ thể, việc này cho phép phân tích cú pháp các giá trị filename* có thể sử dụng một kiểu mã hoá ký tự khác.

RATE_LIMIT_TOASTS

Mã thay đổi: 174840628
Trạng thái mặc định: Không thể bật/tắt thay đổi này. Chỉ có khung tương thích ghi lại nhật ký này.

Bật giới hạn số lượng lệnh gọi Toast.show() để ngăn việc gửi quá nhiều thông báo ngắn cho người dùng trong một khoảng thời gian có hạn. Nếu bạn cố gắng hiện nhiều thông báo ngắn hơn mức cho phép trong một khung thời gian nhất định thì sẽ dẫn đến việc thông báo ngắn bị loại bỏ.

STREAM_INT_DIFFERS_FROM_NEXT_INT

Mã thay đổi: 308103782
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, các phương thức Random.ints() sẽ trả về một chuỗi số khác với các phương thức Random.nextInt(). Quá trình này diễn ra từ những thay đổi trong https://bugs.openjdk.org/browse/JDK-8301574.

Để tìm hiểu thêm về thay đổi này, hãy xem phần về Các thay đổi đối với API OpenJDK trên trang Các thay đổi về hành vi của Android 15.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Mã thay đổi: 196254758
Trạng thái mặc định: Tắt đối với tất cả ứng dụng.

Khi bật, hệ thống sẽ cho phép gói "android" sử dụng bí danh thành phần.

USE_NEW_ISO_LOCALE_CODES

Mã thay đổi: 291868760
Trạng thái mặc định: Bật đối với những ứng dụng nhắm đến Android 15 (API cấp 35) trở lên.

Khi được bật, mã ngôn ngữ cho tiếng Do Thái, tiếng Yiddish và tiếng Indonesia sẽ không còn được chuyển đổi sang các dạng lỗi thời (tiếng Do Thái: iw, tiếng Yiddish: ji và tiếng Indonesia: in).

Để tìm hiểu thêm về thay đổi này, hãy xem phần về Các thay đổi đối với API OpenJDK trên trang Các thay đổi về hành vi của Android 15.