Android 13 mang đến cho nhà phát triển các tính năng và API mới tuyệt vời. Các phần dưới đây giúp bạn tìm hiểu các tính năng cho ứng dụng cũng như làm quen với các API liên quan.
Để biết danh sách chi tiết về các API mới, đã được sửa đổi, cũng như đã bị xoá, hãy đọc báo cáo điểm khác biệt về API. Để biết thông tin chi tiết về các API mới, vui lòng truy cập tài liệu tham khảo về API cho Android (các API mới được trình bày nổi bật). Ngoài ra, để tìm hiểu về những khía cạnh có thể xảy ra sự thay đổi của nền tảng ảnh hưởng đến ứng dụng của bạn, hãy nhớ xem các thay đổi về hành vi của Android 13 đối với ứng dụng nhắm đến Android 13 và cho tất cả các thiết bị .
Năng suất và công cụ dành cho nhà phát triển
Biểu tượng ứng dụng theo chủ đề
![Người dùng chọn sử dụng biểu tượng ứng dụng theo chủ đề](https://developer.android.com/static/images/about/versions/13/themed-app-icons.gif?authuser=19&hl=vi)
Kể từ Android 13, bạn có thể chọn sử dụng biểu tượng ứng dụng theo giao diện. Bằng cách này tính năng, biểu tượng ứng dụng trong các trình chạy Android được hỗ trợ đều được phủ màu để kế thừa màu của hình nền mà người dùng đã chọn và các chủ đề khác.
Để hỗ trợ tính năng này, ứng dụng của bạn phải cung cấp cả
biểu tượng thích ứng và
biểu tượng ứng dụng đơn sắc rồi trỏ đến biểu tượng ứng dụng đơn sắc trên
Phần tử <adaptive-icon>
trong tệp kê khai. Nếu người dùng đã bật ứng dụng theo giao diện
biểu tượng (nói cách khác là bật nút bật/tắt Themed icon (Biểu tượng theo chủ đề) trong phần cài đặt hệ thống),
và trình chạy hỗ trợ tính năng này, hệ thống sẽ sử dụng màu của
hình nền và giao diện mà người dùng chọn để xác định màu phủ, sau đó
áp dụng cho biểu tượng ứng dụng đơn sắc.
Màn hình chính KHÔNG hiện biểu tượng ứng dụng theo chủ đề mà thay vào đó sẽ hiện biểu tượng ứng dụng thích ứng hoặc tiêu chuẩn – trong bất kỳ trường hợp nào sau đây:
- Nếu người dùng chưa bật biểu tượng ứng dụng theo giao diện
- Nếu ứng dụng của bạn không cung cấp biểu tượng ứng dụng đơn sắc
- Nếu trình chạy không hỗ trợ biểu tượng ứng dụng theo giao diện
Để biết thêm thông tin chi tiết và hướng dẫn, hãy xem bài viết Biểu tượng thích ứng.
Lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng
![](https://developer.android.com/static/images/about/versions/13/app-languages.png?authuser=19&hl=vi)
Trong nhiều trường hợp, người dùng đa ngôn ngữ đặt ngôn ngữ hệ thống của họ thành một ngôn ngữ (chẳng hạn như tiếng Anh). Tuy nhiên, họ muốn chọn các ngôn ngữ khác cho những ứng dụng cụ thể, chẳng hạn như tiếng Hà Lan, tiếng Trung hoặc tiếng Hindi. Nhằm giúp ứng dụng mang lại trải nghiệm tốt hơn cho những người dùng này, Android 13 ra mắt các tính năng sau cho các ứng dụng hỗ trợ nhiều ngôn ngữ:
Cài đặt hệ thống: Một vị trí tập trung mà người dùng có thể chọn một ngôn ngữ ưa thích cho mỗi ứng dụng.
Ứng dụng phải khai báo thuộc tính
android:localeConfig
trong tệp kê khai của ứng dụng để cho hệ thống biết rằng ứng dụng này hỗ trợ nhiều ngôn ngữ. Để tìm hiểu thêm, hãy xem hướng dẫn tạo một tệp tài nguyên và khai báo tệp này trong tệp kê khai của ứng dụng.API bổ sung: Những API công khai này, chẳng hạn như các phương thức
setApplicationLocales()
vàgetApplicationLocales()
trongLocaleManager
, cho phép ứng dụng đặt một ngôn ngữ khác với ngôn ngữ hệ thống vào thời gian chạy.Các API này tự động đồng bộ hoá với chế độ cài đặt hệ thống; do đó, ứng dụng dùng các API này để tạo bộ chọn ngôn ngữ tuỳ chỉnh trong ứng dụng sẽ đảm bảo mang đến trải nghiệm nhất quán cho người dùng, bất kể họ ưu tiên ngôn ngữ nào. API công khai cũng giúp bạn giảm số lượng mã nguyên mẫu, hỗ trợ tệp APK phân tách và hỗ trợ tính năng Tự động sao lưu cho ứng dụng để lưu trữ chế độ cài đặt ngôn ngữ của người dùng ở cấp ứng dụng.
Để tương thích ngược với các phiên bản Android trước, các API tương đương cũng có trong AndroidX. Bạn nên dùng API đã thêm vào Appcompat 1.6.0-beta01 trở lên.
Những thay đổi này sẽ không ảnh hưởng đến những ứng dụng không hỗ trợ nhiều ngôn ngữ.
Cải thiện khả năng hỗ trợ văn bản và ngôn ngữ
Android 13 cung cấp một số tính năng cải tiến về văn bản và ngôn ngữ nhằm giúp bạn sẽ mang đến trải nghiệm chỉn chu hơn theo các phần sau đây mô tả:
Gạch nối nhanh hơn
Dấu gạch nối giúp văn bản được xuống dòng dễ đọc hơn và giúp giao diện người dùng của bạn dễ đọc hơn
thích ứng. Kể từ Android 13, hiệu suất của dấu gạch nối được tối ưu hoá bằng
để bạn có thể bật tính năng này trong TextView
mà gần như không ảnh hưởng đến
hiệu suất kết xuất. Để cho phép gạch nối nhanh hơn, hãy sử dụng
fullFast
hoặc
normalFast
tần số ở
setHyphenationFrequency()
.
API chuyển đổi văn bản
Những người nói các ngôn ngữ như tiếng Nhật và tiếng Trung sử dụng chữ phiên âm thường làm chậm quá trình tìm kiếm cũng như các tính năng như tự động hoàn thành. Trong Android 13, các ứng dụng có thể gọi lệnh chuyển đổi văn bản mới API nên người dùng có thể tìm thấy để họ tìm kiếm nhanh hơn và dễ dàng hơn. Trước đây, ví dụ như tìm kiếm yêu cầu người dùng Nhật Bản thực hiện các bước sau:
- Nhập Hiragana làm cách phát âm theo phiên âm của cụm từ tìm kiếm của họ (chẳng hạn như địa điểm hoặc tên ứng dụng)
- Sử dụng bàn phím để chuyển đổi ký tự Hiragana sang Kanji
- Tìm kiếm lại bằng các ký tự Kanji
- Cuối cùng nhận được kết quả tìm kiếm
Với API chuyển đổi văn bản mới, người dùng Nhật Bản có thể nhập chữ Hiragana và xem ngay kết quả tìm kiếm Kanji trực tiếp, bỏ qua bước 2 và 3.
Cải thiện chiều cao dòng cho chữ viết không phải chữ Latinh
Android 13 cải thiện khả năng hiển thị chữ viết không phải chữ Latinh (chẳng hạn như tiếng Tamil, tiếng Miến Điện, Tiếng Telugu và tiếng Tây Tạng) bằng cách sử dụng chiều cao dòng được điều chỉnh cho từng ngôn ngữ. Chiều cao dòng mới ngăn việc cắt xén và cải thiện vị trí của ký tự. Ứng dụng của bạn có thể tận dụng các điểm cải tiến này chỉ bằng cách nhắm đến Android 13. Hãy nhớ kiểm thử ứng dụng của bạn khi sử dụng chế độ giãn cách dòng mới vì các thay đổi có thể ảnh hưởng đến giao diện người dùng bằng các ngôn ngữ không phải tiếng Latinh.
![](https://developer.android.com/static/images/about/versions/13/line-heights.png?authuser=19&hl=vi)
Cải thiện xuống dòng tự động bằng tiếng Nhật
Kể từ Android 13, TextView có thể gói văn bản bằng Bunsetsu (đơn vị từ nhỏ nhất có âm thanh
tự nhiên) hoặc cụm từ (thay vì theo ký tự) để đẹp và dễ đọc hơn
Ứng dụng của Nhật Bản. Bạn có thể tận dụng gói này bằng cách sử dụng
android:lineBreakWordStyle="phrase"
bằng Chế độ xem văn bản.
![](https://developer.android.com/static/images/about/versions/13/japanese-text-wrapping.png?authuser=19&hl=vi)
Cập nhật thư viện Unicode
Android 13 bổ sung các điểm cải tiến, bản sửa lỗi và thay đổi mới nhất có trong Unicode ICU 70 Unicode CLDR 40 và Unicode 14.0.
Dưới đây là một vài thay đổi đáng chú ý:
- Tiếng Anh (Canada)
en‑CA
và tiếng Anh (Cộng hoà Philippines)en‑PH
đều sử dụng tiếng Anh (Hoa Kỳ)en
tài nguyên dịch khi không có sẵn tài nguyên dịch thay vì tiếng Anh (Vương quốc Anh)en‑GB
. - Danh mục số nhiều
many
đã được giới thiệu cho tiếng Tây Ban Nhaes
, tiếng Ýit
, Tiếng Bồ Đào Nhapt
và tiếng Bồ Đào Nha (Bồ Đào Nha)pt‑PT
. Tương đương cho tiếng Pháp được giới thiệu trong CLDR phiên bản 38, phương thức này được dùng cho số lượng lớn.
Phông chữ vectơ màu
![](https://developer.android.com/static/images/about/versions/13/color-vector-fonts.png?authuser=19&hl=vi)
Kể từ Android 13, hệ thống này hỗ trợ tính năng kết xuất cho COLR phiên bản 1 Phông chữ (COLRv1) và cập nhật biểu tượng cảm xúc hệ thống thành định dạng COLRv1. COLRv1 đánh giá cao nhỏ gọn giúp hiển thị nhanh chóng và sắc nét ở mọi kích thước.
Đối với hầu hết ứng dụng, hệ thống sẽ xử lý mọi thứ và COLRv1 chỉ hoạt động. Tuy nhiên, nếu ứng dụng của bạn tự triển khai tính năng hiển thị văn bản và sử dụng phông chữ của hệ thống, thì chúng tôi bạn nên kiểm tra khả năng kết xuất biểu tượng cảm xúc.
Để tìm hiểu thêm về COLRv1, hãy xem các tài nguyên sau:
- Thông báo về blog dành cho nhà phát triển Chrome
- Vận chuyển phông chữ vectơ màu COLRv1 trong Chrome (Video)
- Quy cách của bảng COLR
API vị trí Cài đặt nhanh
Cài đặt nhanh trong ngăn thông báo là cách thuận tiện để người dùng thay đổi hoặc thực hiện các thao tác nhanh mà không cần rời khỏi ngữ cảnh của ứng dụng. Đối với ứng dụng cung cấp thẻ thông tin tuỳ chỉnh, chúng tôi giúp người dùng dễ dàng khám phá và thêm thẻ thông tin của bạn vào trình duyệt Quick Cài đặt. Sử dụng một API vị trí ô, ứng dụng của bạn giờ đây có thể nhắc người dùng trực tiếp thêm ô tuỳ chỉnh vào nhóm ô Cài đặt nhanh đang hoạt động. Hộp thoại hệ thống mới cho phép người dùng thêm ô trong một bước mà không phải rời khỏi ứng dụng, thay vì phải chuyển đến Chế độ cài đặt để thêm thẻ thông tin.
Xem trước bảng nhớ tạm
Kể từ Android 13, hệ thống sẽ hiện thông báo xác nhận bằng hình ảnh tiêu chuẩn khi nội dung được thêm vào bảng nhớ tạm. Xác nhận mới thực hiện những việc sau:
- Xác nhận nội dung đã được sao chép thành công.
- Cung cấp bản xem trước nội dung đã sao chép.
Tính năng này chuẩn hoá nhiều thông báo mà ứng dụng hiển thị sau khi sao chép đồng thời giúp người dùng có nhiều quyền kiểm soát hơn đối với bảng nhớ tạm. Để biết thêm thông tin, hãy truy cập vào tính năng Sao chép và dán .
![Sao chép/Dán tiện ích](https://developer.android.com/static/images/about/versions/13/new-copy-paste-UI.gif?authuser=19&hl=vi)
Cử chỉ vuốt ngược để dự đoán
Android 13 ra mắt tính năng xem trước thao tác quay lại cho các thiết bị Android như điện thoại, thiết bị màn hình lớn và thiết bị có thể gập lại. Để hỗ trợ tính năng này, bạn cần cập nhật ứng dụng.
Để xem tài liệu chi tiết, hãy xem bài viết Cập nhật ứng dụng để hỗ trợ tính năng xem trước thao tác quay lại cử chỉ. Bạn cũng có thể thử lớp học lập trình của chúng tôi.
Bluetooth Âm thanh năng lượng thấp
Âm thanh năng lượng thấp (LE) là âm thanh không dây được thiết kế để thay thế Bluetooth cổ điển và cho phép một số trường hợp sử dụng cũng như cấu trúc liên kết kết nối nhất định. Nó cho phép người dùng chia sẻ và phát âm thanh của họ đến bạn bè và gia đình, hoặc đăng ký các chương trình phát sóng công khai để cung cấp thông tin, nội dung giải trí hoặc hỗ trợ tiếp cận. Tính năng này được thiết kế để đảm bảo người dùng có thể nhận được âm thanh có độ trung thực cao mà không cần hy sinh thời lượng pin và có thể chuyển đổi liền mạch giữa các chế độ sử dụng những trường hợp không thể sử dụng với Bluetooth Classic. Kể từ Android 13, hệ thống có hỗ trợ tích hợp sẵn cho Âm thanh năng lượng thấp để nhà phát triển có thể nhận được miễn phí trên các thiết bị tương thích.
MIDI 2.0
Bắt đầu từ Android 13, hệ thống này bao gồm hỗ trợ cho tiêu chuẩn MIDI 2.0, bao gồm cả khả năng kết nối phần cứng MIDI 2.0 qua USB. Tiêu chuẩn này cung cấp các tính năng như tăng độ phân giải cho bộ điều khiển, hỗ trợ tốt hơn cho Ngữ điệu không phải phương Tây và hiệu suất biểu đạt cao hơn nhờ sử dụng mỗi nốt nhạc bộ điều khiển trò chơi.
Cải thiện hiệu quả của màn hình chờ
Android 13 cải thiện hiệu quả của màn hình chờ động trong Splash API màn hình:
Hệ thống dự đoán thời lượng ảnh động trực tiếp từ
AnimatedVectorDrawable
. Trước Android 13, bạn cần phải đặtwindowSplashScreenAnimationDuration
.Dùng thuộc tính
windowSplashScreenBehavior
mới để có nhiều quyền kiểm soát hơn đối với liệu ứng dụng của bạn có luôn hiện biểu tượng trên màn hình chờ trong Android 13 hay không và cao hơn.
Để xem tài liệu chi tiết, hãy xem bài viết Màn hình chờ.
Tối ưu hoá ART
Trong Android 13 (API cấp 33) trở lên, ART thực hiện chuyển đổi giữa các phiên bản gốc
mã nhanh hơn nhiều, với các cuộc gọi JNI hiện nhanh hơn tới 2,5 lần. Tham chiếu thời gian chạy
quá trình xử lý cũng được làm lại để làm cho nó gần như là không chặn, điều này
giảm hiện tượng giật. Ngoài ra, bạn có thể sử dụng
Reference.refersTo()
công khai để xác nhận lại các đối tượng không truy cập được sớm hơn và bạn sẽ thấy
hiện nhanh hơn nhờ tra cứu lớp và phương thức được tối ưu hoá. cả ART
thực hiện việc xác minh mã byte nhiều hơn tại thời điểm cài đặt, tránh chi phí
xác minh trong thời gian chạy và giúp thời gian khởi động ứng dụng nhanh chóng.
Quyền riêng tư và bảo mật
Xuất an toàn hơn cho bộ thu đã đăng ký theo bối cảnh
Nhằm giúp trình thu nhận thời gian chạy trở nên an toàn hơn, Android 13 ra mắt khả năng ứng dụng của bạn chỉ định xem bộ nhận tín hiệu truyền tin đã đăng ký cần được xuất và hiển thị với các ứng dụng khác trên thiết bị. Trên các phiên bản trước của Android, bất kỳ ứng dụng nào trên thiết bị này đều có thể gửi một thông báo không được bảo vệ đến một bộ nhận được đăng ký động trừ phi bộ nhận đó được bảo vệ bằng một quyền chữ ký.
Cấu hình xuất này dùng được trên những ứng dụng thực hiện ít nhất một trong sau:
- Sử dụng
ContextCompat
từ phiên bản 1.9.0 trở lên của Thư viện AndroidX Core. - Nhắm mục tiêu đến Android 13 trở lên.
Công cụ chọn ảnh
Android 13 (API cấp 33) trở lên có một công cụ chọn ảnh của bạn. Khi ứng dụng của bạn khởi chạy công cụ chọn ảnh, người dùng sẽ chọn hình ảnh và video cụ thể để chia sẻ với ứng dụng của bạn, như ảnh hồ sơ, thay vì cấp cho ứng dụng quyền truy cập để xem toàn bộ thư viện nội dung nghe nhìn. Đây là cách được khuyến nghị để truy cập vào ảnh của người dùng và video.
Công cụ chọn ảnh tăng cường bảo vệ quyền riêng tư cho người dùng vì ứng dụng của bạn không cần khai báo mọi quyền khi bắt đầu chạy. Ngoài ra, công cụ chọn ảnh cũng cung cấp giao diện người dùng tích hợp sẵn, được chuẩn hoá cho ứng dụng, giúp người dùng nhất quán hơn của bạn.
Quyền mới khi bắt đầu chạy cho các thiết bị Wi-Fi ở gần
Android 13 (API cấp 33) ra mắt một tính năng mới
quyền khi bắt đầu chạy trong
Nhóm quyền NEARBY_DEVICES
dành cho các ứng dụng quản lý việc kết nối của một thiết bị
các điểm truy cập lân cận qua Wi-Fi. Các ứng dụng này phải khai báo quyền mới
NEARBY_WIFI_DEVICES
!
khi họ
gọi nhiều API Wi-Fi.
Ngoài ra, miễn là ứng dụng không lấy được thông tin vị trí thực tế qua Wi-Fi
mà không cần khai báo
ACCESS_FINE_LOCATION
quyền khi ứng dụng nhắm đến Android 13 trở lên.
Tìm hiểu thêm về chính sách quyền đối với thiết bị Wi-Fi lân cận.
Quyền mới để sử dụng chuông báo chính xác
Nếu ứng dụng của bạn nhắm đến Android 13 trở lên, bạn có thể sử dụng
USE_EXACT_ALARM
quyền, được tự động cấp cho ứng dụng của bạn. Để ứng dụng của bạn có thể
Tuy nhiên, quyền này phải đáp ứng ít nhất một trong các điều kiện sau
tiêu chí:
- Ứng dụng của bạn là ứng dụng đồng hồ báo thức hoặc ứng dụng hẹn giờ.
- Ứng dụng của bạn là một ứng dụng lịch hiện thông báo về các sự kiện sắp tới.
Nếu ứng dụng của bạn đặt chuông báo chính xác nhưng không đáp ứng cả hai trường hợp nêu trong
danh sách trước đó, hãy tiếp tục khai báo
SCHEDULE_EXACT_ALARM
quyền và sẵn sàng cho trường hợp người dùng từ chối
quyền truy cập vào ứng dụng của bạn.
Quyền có thể hạ cấp của nhà phát triển
Kể từ Android 13, ứng dụng của bạn có thể thu hồi quyền truy cập vào các tệp chưa dùng đến quyền khi bắt đầu chạy. API này cho phép ứng dụng của bạn thực hiện các tác vụ nâng cao quyền riêng tư như sau:
- Hãy xoá các quyền không dùng đến.
- Tuân thủ các phương pháp hay nhất về quyền để cải thiện niềm tin của người dùng. Bạn có thể muốn bạn cần xem xét cho người dùng thấy một hộp thoại cho thấy các quyền mà bạn có chủ động bị thu hồi.
Lược đồ chữ ký APK phiên bản 3.1
Android 13 bổ sung tính năng hỗ trợ cho Lược đồ chữ ký APK phiên bản 3.1, cải thiện dựa trên hiện có Lược đồ chữ ký APK v3. Giao thức này giải quyết một số vấn đề đã biết bằng Lược đồ chữ ký APK v3 liên quan đến việc xoay vòng. Đặc biệt, phiên bản 3.1 lược đồ chữ ký hỗ trợ tiêu chí nhắm mục tiêu theo phiên bản SDK, cho phép xoay vòng để nhắm đến bản phát hành nền tảng sau này.
Lược đồ chữ ký phiên bản 3.1 sử dụng một mã nhận dạng khối không nhận dạng được trên 12L trở xuống. Do đó, nền tảng này áp dụng hành vi sau đây của người ký:
- Các thiết bị chạy Android 13 trở lên sử dụng trình ký được xoay trong khối v3.1.
- Các thiết bị chạy phiên bản Android cũ hơn sẽ bỏ qua trình ký xoay vòng và thay vào đó, hãy sử dụng trình ký ban đầu trong khối v3.0.
Những ứng dụng chưa xoay vòng khoá ký không cần thêm gì nữa hành động. Bất cứ khi nào các ứng dụng này chọn xoay, hệ thống sẽ áp dụng phiên bản 3.1 lược đồ chữ ký theo mặc định.
Các ứng dụng đã xoay vòng và muốn tiếp tục sử dụng tính năng ký xoay vòng
trong khối ký v3.0 cần phải cập nhật
apksigner
lời gọi:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
...trong đó API_LEVEL
từ 32 trở xuống.
Cải thiện tính năng báo cáo lỗi trong Kho khoá và KeyMint
Đối với các ứng dụng tạo khoá, Kho khoá và KeyMint hiện cung cấp thông tin chi tiết và
chỉ báo lỗi chính xác. Chúng tôi đã thêm một hệ phân cấp lớp ngoại lệ trong
java.security.ProviderException
, với các trường hợp ngoại lệ dành riêng cho Android bao gồm
Mã lỗi Kho khoá/KeyMint,
và liệu lỗi có thể thử lại hay không. Bạn cũng có thể sửa đổi các phương thức cho khoá
tạo và sử dụng (ký, mã hoá) để gửi các ngoại lệ mới. Chiến lược phát hành đĩa đơn
việc cải thiện báo cáo lỗi không chỉ giới hạn ở việc tạo khoá và giờ đây sẽ cung cấp
những gì bạn cần để thử tạo lại khoá.
Hỗ trợ máy tính bảng và màn hình lớn
Android 13 được xây dựng dựa trên những tính năng tối ưu hoá dành cho máy tính bảng có trong Android 12 và Bản cập nhật tính năng 12L — bao gồm các tính năng tối ưu hoá giao diện người dùng hệ thống, cải thiện khả năng đa nhiệm, và chế độ tương thích được cải thiện. Trong quá trình thử nghiệm, hãy đảm bảo rằng ứng dụng của bạn trông đẹp nhất trên máy tính bảng và các thiết bị màn hình lớn khác.
Để biết thêm thông tin về tính năng mới và nội dung cần thử nghiệm, hãy xem Hỗ trợ máy tính bảng và màn hình lớn .
Đồ hoạ
Chương trình đổ bóng có thể lập trình
![](https://developer.android.com/static/images/about/versions/13/agsl-shader.gif?authuser=19&hl=vi)
Kể từ Android 13, hệ thống này hỗ trợ các ngôn ngữ lập trình
Đối tượng RuntimeShader
, với
hành vi được xác định bằng Ngôn ngữ tạo bóng đồ hoạ Android
(AGSL). Cổ phiếu AGSL
nhiều cú pháp của nó với GLSL, nhưng hoạt động trong công cụ kết xuất Android để
tuỳ chỉnh bức tranh trong canvas của Android cũng như lọc nội dung View.
Android sử dụng nội bộ các chương trình đổ bóng này để triển khai
hiệu ứng gợn sóng,
làm mờ,
và
cuộn quá mức kéo giãn.
Android 13 trở lên cho phép bạn tạo các hiệu ứng nâng cao tương tự cho
.
Cải tiến choreographer
Android 13 ra mắt các phương thức API công khai để
Choreographer
và
ASurfaceControl
đó
cung cấp cho ứng dụng nhiều thông tin hơn về dòng thời gian kết xuất khung hình và thêm
bối cảnh cụ thể hơn
SurfaceFlinger
về vòng đời khung. Tương tự như trước đây, ứng dụng có thể
gửi yêu cầu gọi lại
đến Choreographer
và nhận thông tin về dòng thời gian của khung hình. Trong Android 13 (API
cấp 33), Choreographer
trả về nhiều thời gian trình bày có thể và
thời hạn kết xuất khung thời gian tương ứng. Các ứng dụng có thể chọn thời gian trình bày và
sau đó
thông báo SurfaceFlinger
lựa chọn. Sau đó, SurfaceFlinger
không tìm cách áp dụng các giao dịch hoặc
chốt các vùng đệm trước thời gian trình bày mong muốn.
![](https://developer.android.com/static/images/about/versions/13/13-choreographer.png?authuser=19&hl=vi)
Camera
Quay video HDR
Kể từ Android 13, API Camera2 hỗ trợ quay video có Dải động cao (HDR), cho phép bạn xem trước và quay nội dung video HDR bằng máy ảnh của bạn. So với động chuẩn Dải màu (SDR), HDR cung cấp dải màu rộng hơn và tăng dải động của thành phần độ chói (từ 100 cd/m2 hiện tại đến 1000 cd/m2). Nhờ đó, chất lượng video sẽ sát với thực tế hơn, và màu, vùng sáng sáng hơn và bóng tối hơn.
Để tìm hiểu thêm về cách quay video HDR, hãy xem Tài liệu về Quay video HDR.
Nội dung nghe nhìn
Âm thanh không gian
Âm thanh không gian là trải nghiệm âm thanh sống động giúp phát nội dung nghe nhìn thực tế hơn cho người dùng. Xem bài viết Âm thanh không gian của chúng tôi tài liệu để biết chi tiết về cách tích hợp với tính năng này.
Định tuyến âm thanh dự kiến
Để giúp các ứng dụng đa phương tiện xác định cách định tuyến âm thanh, Android 13
ra mắt API định tuyến âm thanh trong
Lớp AudioManager
. Chiến lược phát hành đĩa đơn
getAudioDevicesForAttributes()
API này cho phép bạn truy xuất danh sách thiết bị có thể dùng để phát
âm thanh cụ thể và
getDirectProfilesForAttributes()
API này giúp bạn biết được liệu có thể phát trực tiếp luồng âm thanh của bạn hay không. Sử dụng
các API này để xác định
AudioFormat
để sử dụng cho âm thanh của bạn
bản nhạc.
Hỗ trợ tiếp cận
Mô tả bằng âm thanh
Android 13 (API cấp 33) ra mắt lựa chọn ưu tiên mới về khả năng hỗ trợ tiếp cận trên toàn hệ thống
cho phép người dùng bật tính năng mô tả bằng âm thanh trên tất cả các ứng dụng. Âm thanh
mô tả là một bản tường thuật bổ sung bao gồm một người đọc
thông qua bản trình bày, mô tả những gì đang xảy ra trên màn hình trong
các điểm dừng tự nhiên trong âm thanh.
Các ứng dụng có thể theo dõi lựa chọn ưu tiên của người dùng đối với bản mô tả âm thanh bằng cách
đang truy vấn truy vấn đó bằng isAudioDescriptionRequested()
,
như minh hoạ trong đoạn mã sau:
Kotlin
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
Java
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
Các ứng dụng có thể theo dõi sự thay đổi về lựa chọn ưu tiên của người dùng bằng cách thêm trình nghe vào
AccessbilityManager
:
Kotlin
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
Java
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
Chức năng cốt lõi
Nội dung cập nhật OpenJDK 11
Android 13 bắt đầu công việc làm mới các thư viện cốt lõi của Android sao cho phù hợp với bản phát hành OpenJDK 11 LTS có cả bản cập nhật thư viện và ngôn ngữ Java 11 dành cho các nhà phát triển ứng dụng và nền tảng. Thay đổi về thư viện chính được giới thiệu trong Android 13 cũng sẽ có sẵn cho thiết bị Android 12 thông qua Bản cập nhật hệ thống Google Play lên Mô-đun dòng chính ART.
Android 13 có các thay đổi sau đối với các thư viện chính:
- Hỗ trợ từ khoá
var
cho các biến cục bộ và dưới dạng tham số lambda. Các phương thức mới trong lớp Chuỗi:
isBlank()
lines()
repeat()
strip()
stripLeading()
stripTrailing()
Hỗ trợ cho
Collection.toArray(IntFunction)
để dễ dàng điều chỉnh vào một mảng.Hỗ trợ dành cho
ifPresentOrElse()
,isEmpty()
,orElseThrow()
vàstream()
trongjava.util
lớpOptional
,OptionalDouble
,OptionalInt
vàOptionalLong
.Hỗ trợ mở rộng cho
SocketOptions
, bao gồm cả việc sử dụng lại ổ cắm.NullReader
,NullWriter
,InputStream
,OutputStream
vàtransferTo()
Chức năngReader
chuyển các ký tự đọc sangWriter
.Thêm chức năng mã hoá và giải mã URL bằng
Charsets
.Chức năng
Charset
dành choFileReader
,FileWriter
,PrintStream
vàPrintWriter
.transferTo()
,readNBytes()
,readAllBytes()
vàwriteBytes()
mới các hàmByteArrayInput
hoặcOutputStream
vàInput
hoặcOutputStream
.Hỗ trợ thời gian chạy và trình biên dịch cho
java.lang.invoke.VarHandle
.Cập nhật
java.util.concurrent
thành API OpenJDK 11 bằngVarHandle
nội bộ.
Java và OpenJDK là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.