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 dành 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, trình tạo của PendingIntent sẽ chặn các hoạt động chạy trong nền theo mặc định.

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

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 elegantTextHeight TextView 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ị Android 15 trở lên. Việc này sẽ thay thế phông chữ thu gọn được dùng theo mặc định bằng một số tập lệnh có chỉ số lớn theo chiều dọc với 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 trong 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, bạn có thể á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 được bật, DOWNSCALED_INVERSE sẽ được ưu tiên và hệ số tỷ lệ được áp dụ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ô nghịch đảo của vùng đệm cho mỗi ứng dụng. Khi bật thay đổi này, hệ số tỷ lệ sau đây sẽ được áp dụng ngược (tức là độ phân giải sẽ được nâng cấp):

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 ngược, hệ số tỷ lệ 80% bằng 125%, nhỏ hơn hệ số tỷ lệ 142,86% được áp dụng khi áp dụng ngược hệ số tỷ lệ 70%. Khi cả thay đổi này và DOWNSCALED được bật, DOWNSCALED_INVERSE sẽ được ưu tiên và hệ số tỷ lệ được áp dụng 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 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à 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 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à 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 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à 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 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à 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 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à 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 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à 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 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à 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 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à 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 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à 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 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à 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 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à 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(), kiểu thành phần của mảng thu được giờ đây sẽ là Object, không phải là kiểu 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 OpenJDK 17 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ừ các 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 OpenJDK 17 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 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 về Các hạn chế đối với broadcast receiver BOOT_COMPLETED khi chạy các dịch vụ trên nền trước trong trang Các thay đổi về hành vi của Android 15.

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 loại dịch vụ trên nền trước thuộc loại vi phạm không bị dừng trong giới hạn thời gian đã phân bổ, thì dịch vụ đó sẽ nhận được một lệnh gọi lại bằng Service.onTimeout(int, int) và sau đó phải dừng lại trong vòng vài giây. Nếu không làm được như vậ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 trên 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ụ đồng bộ hoá dữ liệu xử lý nội dung nghe nhìn trên nền trước.

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, tính năng 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 về các thay đổi trong hành vi của Android 15 về Các quy định hạn chế khi khởi động các dịch vụ trên nền trước trong khi một ứng dụng giữ SYSTEM_ALERT_WINDOW quyền.

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 thiết lập 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 bật một ứng dụng để hỗ trợ tính năng đa phương tiện HEVC. Các ứ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. Tuy nhiên, 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 thiết lập 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_DISABLE_HEVC_SUPPORT đều được bật, thì 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 có thể đổi kích thướ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 đổi kích thước ở 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 ứng dụng nhắm đến Android 14 (API cấp 34) trở xuống, hệ thống sẽ sử dụng người dùng quy trình gọi (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 trên trang Các thay đổi về hành vi của Android 15 về Các thay đổi đối với thời điểm các ứng dụng có thể sửa đổi trạng thái chung của chế độ Không làm phiền.

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 do hoạt động yêu cầu. Bạn có thể ghi đè các ứng dụng 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, loại trừ các gói được áp dụng chế độ ghi đè khỏi quá trình xử lý khả năng tương thích với máy ảnh ở chế độ cửa sổ dạng tự do đối với ứng dụng hướng cố định.

Ở chế độ cửa sổ dạng tự do, cơ chế tương thích mô phỏng hoạt động chạy trên thiết bị dọc bằng cách tạo hiệu ứng hòm thư cho cửa sổ ứng dụng và thay đổi đặc điểm của máy ảnh thành đặc điểm mà ứng dụng thường mong đợi ở thiết bị dọc: xoay cảm biến 90 và 270 độ cho camera trước và sau, đồng thời đặt chế độ xoay màn hình thành 0.

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

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 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 đè việc 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 giá trị này. 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 để xác định sự khác biệt giữa các thiết bị có hướng ngang tương ứng với Surface.ROTATION_90 và các thiết bị 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 được bật, hãy ghi đè bố cục trong hành vi ở chế độ cắt trên màn hình. Chế độ cài đặt này sẽ chỉ áp dụng nếu không thực thi chế độ hiển thị 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 bật, hãy ghi đè quy tắc hạn chế tỷ lệ khung hình tối thiểu ở chế độ toàn màn hình dọc để 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 bật, hãy 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 để 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.

Khi OVERRIDE_MIN_ASPECT_RATIO được bật cùng, 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 giá trị này. 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 giá trị này. Trừ phi OVERRIDE_ANY_ORIENTATION được bật, SCREEN_ORIENTATION_PORTRAIT chỉ được dùng khi hoạt động không chỉ định bất kỳ 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ể, lệnh này cho phép phân tích cú pháp các giá trị filename* có thể dùng một bộ 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() hiện sẽ trả về một chuỗi số khác với các phương thức Random.nextInt(). Thực hiện theo sau là 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 OpenJDK 17 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, các 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 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 OpenJDK 17 trên trang Các thay đổi về hành vi của Android 15.