Android 10 dành cho nhà phát triển

Android 10 được xây dựng dựa trên 3 chủ đề quan trọng. Trước tiên, Android 10 đang định hình xu hướng đổi mới di động hàng đầu bằng công nghệ máy học nâng cao và hỗ trợ các thiết bị mới nổi như điện thoại có màn hình gập và điện thoại hỗ trợ 5G. Tiếp theo, Android 10 tập trung vào quyền riêng tư và tính bảo mật, với gần 50 tính năng giúp người dùng được bảo vệ tốt hơn, minh bạch hơn và có nhiều quyền kiểm soát hơn. Cuối cùng, Android 10 mở rộng các chế độ kiểm soát sức khoẻ kỹ thuật số của người dùng để các cá nhân và gia đình có thể tìm được sự cân bằng tốt hơn với công nghệ.

Sau đây là những điểm mới trong Android 10 dành cho nhà phát triển và cách bạn có thể sử dụng những điểm mới này ngay hôm nay.

Đổi mới và trải nghiệm mới

Với Android 10, bạn có thể tận dụng những cải tiến mới nhất về phần cứng và phần mềm để tạo ra trải nghiệm ứng dụng tuyệt vời cho người dùng.

Với Android 10, bạn có thể tối ưu hoá ứng dụng cho thiết bị có thể gập lại và các thiết bị có màn hình lớn khác.

Thiết bị có thể gập lại

Dựa trên khả năng hỗ trợ chế độ nhiều cửa sổ mạnh mẽ, Android 10 mở rộng khả năng đa nhiệm trên các cửa sổ ứng dụng và cung cấp tính liên tục của màn hình để duy trì trạng thái ứng dụng khi thiết bị gập hoặc mở ra. Android 10 bổ sung một số điểm cải tiến trong onResumeonPause để hỗ trợ tính năng tiếp tục nhiều lần và thông báo cho ứng dụng của bạn khi ứng dụng đó có tiêu điểm. Thư viện này cũng thay đổi cách hoạt động của thuộc tính resizeableActivity trong tệp kê khai, giúp bạn quản lý cách ứng dụng hiển thị trên màn hình gập và màn hình lớn. Để hỗ trợ bạn tạo ứng dụng cho thiết bị có thể gập lại, bạn có thể định cấu hình trình mô phỏng thiết bị có thể gập lại làm thiết bị ảo (AVD) trong Android Studio. Để biết thông tin chi tiết về cách tối ưu hoá ứng dụng cho thiết bị có thể gập lại, hãy xem hướng dẫn cho nhà phát triển.

Mạng 5G

5G hứa hẹn mang đến tốc độ nhanh hơn và độ trễ thấp hơn một cách nhất quán. Android 10 bổ sung khả năng hỗ trợ nền tảng cho 5G và mở rộng các API hiện có để giúp bạn tận dụng những điểm cải tiến này. Bạn có thể sử dụng các API kết nối để phát hiện xem thiết bị có kết nối băng thông cao hay không và kiểm tra xem kết nối có đo lượng dữ liệu hay không. Nhờ đó, ứng dụng và trò chơi của bạn có thể điều chỉnh trải nghiệm phong phú, sống động cho người dùng trên mạng 5G.

Tính năng Trả lời thông minh trong thông báo

Android 10 sử dụng công nghệ học máy trên thiết bị để đề xuất các thao tác theo ngữ cảnh trong thông báo, chẳng hạn như tính năng trả lời thông minh cho tin nhắn hoặc mở bản đồ cho một địa chỉ trong thông báo. Các ứng dụng của bạn có thể tận dụng ngay tính năng này mà bạn không cần làm gì cả. Theo mặc định, các câu trả lời và hành động thông minh do hệ thống cung cấp sẽ được chèn trực tiếp vào thông báo. Bạn vẫn có thể cung cấp câu trả lời và hành động của riêng mình nếu muốn. Chỉ cần chọn không sử dụng tính năng Trả lời thông minh cho từng thông báo bằng cách sử dụng setAllowGeneratedReplies()setAllowSystemGeneratedContextualActions().

Tính năng Trả lời thông minh có thể đề xuất các hành động dựa trên nội dung thông báo.

Giao diện tối

Android 10 bổ sung một giao diện tối trên toàn hệ thống, phù hợp với điều kiện ánh sáng yếu và giúp tiết kiệm pin. Người dùng có thể kích hoạt một giao diện tối mới trên toàn hệ thống bằng cách chuyển đến phần Cài đặt hoặc bật Trình tiết kiệm pin. Thao tác này sẽ chuyển giao diện người dùng hệ thống sang chế độ tối và bật giao diện tối của những ứng dụng hỗ trợ chế độ này. Bạn có thể tạo một giao diện tối tuỳ chỉnh cho ứng dụng của mình hoặc chọn sử dụng tính năng Bật nhanh giao diện tối mới. Tính năng này cho phép hệ thống tự động tạo một phiên bản tối từ giao diện hiện có của bạn. Bạn cũng có thể muốn tận dụng tính năng DayNight của AppCompat để cung cấp một giao diện tối cho người dùng trên các phiên bản Android cũ. Hãy xem hướng dẫn dành cho nhà phát triển để biết thêm thông tin.

Android 10 có thể tạo giao diện tối cho ứng dụng của bạn một cách linh động bằng tính năng Buộc chế độ tối.

Điều hướng bằng cử chỉ

Chế độ thao tác bằng cử chỉ giúp ứng dụng có toàn màn hình cho nội dung.

Android 10 giới thiệu chế độ thao tác hoàn toàn bằng cử chỉ, giúp loại bỏ vùng thanh điều hướng và cho phép các ứng dụng sử dụng toàn màn hình để mang lại trải nghiệm phong phú và sống động hơn. Chế độ này vẫn giữ nguyên các thao tác điều hướng quen thuộc như Quay lại, Màn hình chính và Gần đây bằng cách vuốt từ cạnh thay vì dùng các nút có thể nhìn thấy. Để kết hợp liền mạch với chế độ thao tác bằng cử chỉ, bạn nên chuyển sang chế độ tràn viền, vẽ phía sau thanh điều hướng để tạo trải nghiệm sống động. Để triển khai việc này, các ứng dụng nên sử dụng API setSystemUiVisibility() để được bố trí ở chế độ toàn màn hình, sau đó xử lý WindowInsets một cách thích hợp để đảm bảo các phần quan trọng của giao diện người dùng không bị che khuất. Bắt đầu tối ưu hoá ứng dụng ngay hôm nay và xem loạt bài đăng trên blog của chúng tôi để biết thêm thông tin.

Bảng cài đặt

Giờ đây, bạn có thể hiển thị các chế độ cài đặt hệ thống chính ngay trong ngữ cảnh của ứng dụng thông qua một API Bảng cài đặt mới. Bảng điều khiển cài đặt là một giao diện người dùng nổi mà bạn gọi để hiện những chế độ cài đặt mà người dùng có thể cần, chẳng hạn như kết nối Internet, NFC và âm lượng. Ví dụ: trình duyệt có thể hiển thị một bảng điều khiển có các chế độ cài đặt kết nối như Chế độ trên máy bay, Wi-Fi (bao gồm cả các mạng lân cận) và Dữ liệu di động. Để hiển thị bảng cài đặt, chỉ cần kích hoạt một ý định bằng một trong các Settings.Panel actions mới.

Lối tắt để chia sẻ

Phím tắt chia sẻ giúp việc chia sẻ trở nên nhanh chóng và dễ dàng hơn, cho phép người dùng chuyển thẳng đến một ứng dụng khác để chia sẻ nội dung. Nhà phát triển có thể xuất bản các mục tiêu chia sẻ để khởi chạy một hoạt động cụ thể trong ứng dụng của họ cùng với nội dung được đính kèm. Các mục tiêu này sẽ xuất hiện với người dùng trong giao diện người dùng chia sẻ. Vì được xuất bản trước, nên giao diện người dùng chia sẻ tải ngay lập tức khi khởi chạy. Lối tắt để chia sẻ tương tự như Lối tắt ứng dụng và sử dụng cùng một API ShortcutInfo. API này cũng được hỗ trợ trong thư viện ShareTarget AndroidX. Hãy xem ứng dụng mẫu để biết thông tin chi tiết.

Lối tắt chia sẻ cho phép người dùng chuyển thẳng đến một hoạt động cụ thể trong ứng dụng của bạn có nội dung được đính kèm.

Quyền riêng tư của người dùng

Quyền riêng tư là trọng tâm của Android 10, từ các biện pháp bảo vệ mạnh mẽ hơn trong nền tảng cho đến các tính năng mới được thiết kế chú trọng đến quyền riêng tư. Dựa trên các bản phát hành trước, Android 10 có nhiều thay đổi để bảo vệ quyền riêng tư và giúp người dùng kiểm soát nhiều hơn, với giao diện người dùng hệ thống được cải thiện, các quyền và hạn chế nghiêm ngặt hơn đối với dữ liệu mà ứng dụng có thể sử dụng. Hãy xem các thay đổi về quyền riêng tư để biết thông tin chi tiết về cách hỗ trợ những thay đổi này trong ứng dụng của bạn.

Giờ đây, người dùng có thể chọn cấp quyền truy cập vào thông tin vị trí khi ứng dụng ở nền trước.

Mang lại cho người dùng nhiều quyền kiểm soát hơn đối với dữ liệu vị trí – Người dùng có nhiều quyền kiểm soát hơn đối với dữ liệu vị trí của họ thông qua một lựa chọn cấp quyền mới. Giờ đây, họ có thể cho phép ứng dụng truy cập vào thông tin vị trí chỉ khi ứng dụng đang được sử dụng (đang chạy ở nền trước). Đối với hầu hết các ứng dụng, điều này cung cấp đủ quyền truy cập, đồng thời đối với người dùng, đây là một bước tiến lớn về tính minh bạch và khả năng kiểm soát. Để tìm hiểu thêm về các thay đổi đối với vị trí, hãy xem hướng dẫn dành cho nhà phát triển hoặc bài đăng trên blog của chúng tôi.

Bảo vệ dữ liệu vị trí trong quá trình quét mạng – Hầu hết các API để quét mạng đều đã yêu cầu quyền truy cập vị trí tương đối. Android 10 tăng cường khả năng bảo vệ cho các API đó bằng cách yêu cầu quyền truy cập thông tin vị trí chính xác.

Ngăn chặn hoạt động theo dõi thiết bị – Các ứng dụng không còn truy cập được vào giá trị nhận dạng thiết bị không thể đặt lại có thể dùng để theo dõi, bao gồm cả IMEI, số sê-ri và các giá trị nhận dạng tương tự của thiết bị. Theo mặc định, địa chỉ MAC của thiết bị cũng được tạo ngẫu nhiên khi kết nối với mạng Wi-Fi. Hãy đọc các phương pháp hay nhất để giúp bạn chọn giá trị nhận dạng phù hợp cho trường hợp sử dụng của mình và xem thông tin chi tiết tại đây.

Bảo mật dữ liệu người dùng trong bộ nhớ ngoài – Android 10 giới thiệu một số thay đổi để mang lại cho người dùng nhiều quyền kiểm soát hơn đối với các tệp trong bộ nhớ ngoài và dữ liệu ứng dụng trong các tệp đó. Các ứng dụng có thể lưu trữ tệp của riêng mình trong hộp cát riêng, nhưng phải sử dụng MediaStore để truy cập vào các tệp đa phương tiện dùng chung và sử dụng bộ chọn tệp của hệ thống để truy cập vào các tệp dùng chung trong bộ sưu tập Tải xuống mới. Tìm hiểu thêm tại đây.

Chặn các hoạt động làm phiền không mong muốn – Android 10 ngăn các ứng dụng khởi chạy từ nền bất ngờ chuyển sang nền trước và chiếm lấy tiêu điểm từ một ứng dụng khác. Tìm hiểu thêm tại đây.

Bảo mật

Android 10 giới thiệu một số tính năng giúp người dùng an toàn hơn thông qua những tiến bộ trong quá trình mã hoá, tăng cường nền tảng và xác thực. Đọc thêm về các bản cập nhật bảo mật của Android 10 tại đây.

Mã hoá bộ nhớ – Tất cả các thiết bị tương thích chạy Android 10 đều phải mã hoá dữ liệu người dùng. Để làm cho quá trình này hiệu quả hơn, Android 10 có chế độ mã hoá mới là Adiantum.

TLS 1.3 theo mặc định – Android 10 cũng bật TLS 1.3 theo mặc định, đây là một bản sửa đổi lớn đối với tiêu chuẩn TLS, mang lại lợi ích về hiệu suất và tăng cường bảo mật.

Tăng cường bảo mật nền tảng – Android 10 cũng bao gồm các biện pháp tăng cường bảo mật cho một số khu vực quan trọng về bảo mật của nền tảng.

Cải thiện hệ thống nhận dạng sinh trắc học – Android 10 mở rộng khung BiometricPrompt để hỗ trợ các phương thức xác thực thụ động, chẳng hạn như khuôn mặt, đồng thời thêm các quy trình xác thực ngầm và rõ ràng. Trong quy trình rõ ràng, người dùng phải xác nhận rõ ràng giao dịch trong TEE trong quá trình xác thực. Luồng ngầm định được thiết kế để thay thế cho các giao dịch có xác thực thụ động. Android 10 cũng cải thiện cơ chế dự phòng cho thông tin xác thực thiết bị khi cần. Tìm hiểu thêm tại đây.

Camera và nội dung nghe nhìn

Độ sâu động cho ảnh

Giờ đây, các ứng dụng có thể yêu cầu hình ảnh có Độ sâu linh hoạt, bao gồm một tệp JPEG, siêu dữ liệu XMP liên quan đến các phần tử liên quan đến độ sâu và một bản đồ độ sâu và độ tin cậy được nhúng trong cùng một tệp. Các lựa chọn này cho phép bạn cung cấp các lựa chọn làm mờ và hiệu ứng bokeh chuyên biệt trong ứng dụng của mình. Độ sâu động là một định dạng mở cho hệ sinh thái và chúng tôi đang hợp tác với các đối tác để đưa định dạng này vào các thiết bị chạy Android 10 trở lên.

Với hình ảnh có Độ sâu linh hoạt, bạn có thể cung cấp các lựa chọn làm mờ và hiệu ứng bokeh chuyên biệt trong ứng dụng của mình.

Ghi lại quá trình phát âm thanh

Giờ đây, mọi ứng dụng phát âm thanh đều có thể cho phép các ứng dụng khác ghi lại luồng âm thanh của ứng dụng đó bằng một API ghi lại nội dung phát âm thanh mới. Ngoài việc bật chú thích và phụ đề, API này còn cho phép bạn hỗ trợ các trường hợp sử dụng phổ biến như trò chơi phát trực tiếp. Chúng tôi đã xây dựng chức năng mới này với mục tiêu bảo vệ quyền riêng tư và bản quyền. Do đó, khả năng ghi lại âm thanh của một ứng dụng khác của ứng dụng sẽ bị hạn chế, giúp các ứng dụng có toàn quyền kiểm soát việc luồng âm thanh của chúng có thể bị ghi lại hay không. Đọc thêm trong bài đăng này trên blog.

Bộ mã hoá và giải mã âm thanh và video mới

Android 10 bổ sung khả năng hỗ trợ bộ mã hoá và giải mã video nguồn mở AV1, cho phép nhà cung cấp nội dung nghe nhìn truyền trực tuyến nội dung video chất lượng cao đến các thiết bị Android tiêu tốn ít băng thông hơn. Ngoài ra, Android 10 hỗ trợ mã hoá âm thanh bằng Opus – một bộ mã hoá và giải mã miễn phí bản quyền, mã nguồn mở, được tối ưu hoá cho việc phát trực tuyến giọng nói và nhạc – và HDR10+ cho video có dải động cao trên các thiết bị hỗ trợ. API MediaCodecInfo cung cấp một cách dễ dàng hơn để xác định khả năng kết xuất video của thiết bị Android. Đối với bất kỳ bộ mã hoá và giải mã nào, bạn có thể lấy danh sách các kích thước và tốc độ khung hình được hỗ trợ.

API MIDI gốc

Đối với những ứng dụng xử lý âm thanh bằng C++, Android 10 giới thiệu một API MIDI gốc để giao tiếp với các thiết bị MIDI thông qua NDK. API này cho phép truy xuất dữ liệu MIDI trong lệnh gọi lại âm thanh bằng cách sử dụng thao tác đọc không tuần tự, cho phép xử lý các thông báo MIDI có độ trễ thấp. Hãy dùng thử với ứng dụng mẫu và mã nguồn tại đây.

Micrô có thể thu phóng theo hướng

Android 10 giúp bạn kiểm soát tốt hơn hoạt động ghi âm thông qua một API MicrophoneDirection mới. Bạn có thể dùng API này để chỉ định hướng ưu tiên của micrô khi ghi âm. Ví dụ: khi người dùng đang quay video "tự chụp", bạn có thể yêu cầu micrô trước để ghi âm (nếu có). Ngoài ra, API này giới thiệu một cách tiêu chuẩn để kiểm soát các micrô có thể thu phóng, cho phép ứng dụng của bạn kiểm soát kích thước trường ghi âm.

Vulkan ở mọi nơi

Android 10 mở rộng phạm vi ảnh hưởng của Vulkan bằng chế độ triển khai API nhiều nền tảng, mức hao tổn thấp dành cho đồ hoạ 3D hiệu suất cao. Vulkan 1.1 hiện là yêu cầu bắt buộc trên tất cả các thiết bị 64 bit chạy Android 10 trở lên và là yêu cầu nên có đối với tất cả các thiết bị 32 bit. Chúng tôi nhận thấy có sự tăng trưởng đáng kể về khả năng hỗ trợ Vulkan trong hệ sinh thái – trong số các thiết bị chạy Android N trở lên, 53% hỗ trợ Vulkan 1.0.3 trở lên. Với yêu cầu mới trong Android 10, chúng tôi hy vọng sẽ thấy mức độ áp dụng tăng lên nữa trong năm tới.

Khả năng kết nối

Cải thiện khả năng kết nối ngang hàng và kết nối Internet

Chúng tôi đã tái cấu trúc ngăn xếp Wi-Fi để cải thiện quyền riêng tư và hiệu suất, đồng thời cải thiện các trường hợp sử dụng phổ biến như quản lý thiết bị IoT và đề xuất kết nối Internet mà không yêu cầu quyền truy cập vào vị trí. API kết nối mạng giúp bạn dễ dàng quản lý các thiết bị IoT qua Wi-Fi cục bộ cho các chức năng ngang hàng như định cấu hình, tải xuống hoặc in. API đề xuất mạng cho phép các ứng dụng hiển thị mạng Wi-Fi ưu tiên cho người dùng để kết nối Internet.

Chế độ hiệu suất Wi-Fi

Giờ đây, các ứng dụng có thể yêu cầu Wi-Fi thích ứng bằng cách bật chế độ hiệu suất cao và độ trễ thấp. Đây có thể là một lợi ích lớn khi độ trễ thấp là yếu tố quan trọng đối với trải nghiệm người dùng, chẳng hạn như chơi trò chơi theo thời gian thực, cuộc gọi thoại đang hoạt động và các trường hợp sử dụng tương tự. Nền tảng này hoạt động với chương trình cơ sở của thiết bị để đáp ứng yêu cầu với mức tiêu thụ điện năng thấp nhất. Để sử dụng các chế độ hiệu suất mới, hãy gọi WifiManager.WifiLock.createWifiLock() bằng WIFI_MODE_FULL_LOW_LATENCY hoặc WIFI_MODE_FULL_HIGH_PERF. Trong các chế độ này, nền tảng sẽ hoạt động với chương trình cơ sở của thiết bị để đáp ứng yêu cầu với mức tiêu thụ điện năng thấp nhất.

Kiến thức cơ bản về Android

Tối ưu hoá ART

Những điểm cải tiến trong thời gian chạy ART giúp ứng dụng của bạn khởi động nhanh hơn, tiêu thụ ít bộ nhớ hơn và chạy mượt mà hơn mà không cần bạn phải làm gì. Hồ sơ ART do Google Play cung cấp cho phép ART biên dịch trước các phần của ứng dụng ngay cả trước khi ứng dụng chạy. Trong thời gian chạy, Android 10 sẽ thêm tính năng Thu gom rác theo thế hệ vào Trình thu gom rác sao chép đồng thời (CC) của ART để giúp việc thu gom rác hiệu quả hơn về thời gian và CPU, giảm hiện tượng giật và giúp các ứng dụng chạy tốt hơn trên các thiết bị cấp thấp.

Biểu đồ này cho thấy tỷ lệ cải thiện thời gian khởi động của một số ứng dụng cụ thể khi được kiểm thử bằng hồ sơ Play.

Neural Networks API 1.2

Chúng tôi đã thêm 60 thao tác mới, bao gồm ARGMAX, ARGMIN, LSTM được lượng tử hoá, cùng với một loạt các hoạt động tối ưu hoá hiệu suất. Điều này đặt nền tảng cho việc tăng tốc một phạm vi mô hình lớn hơn nhiều – chẳng hạn như các mô hình để phát hiện đối tượng và phân đoạn hình ảnh. Chúng tôi đang hợp tác với các nhà cung cấp phần cứng và các khung máy học phổ biến như TensorFlow để tối ưu hoá và triển khai hoạt động hỗ trợ cho NNAPI 1.2.

Thermal API

Khi trở nên quá nóng, thiết bị có thể điều tiết CPU và/hoặc GPU, gây ảnh hưởng không mong muốn đến ứng dụng và trò chơi. Giờ đây, trong Android 10, các ứng dụng và trò chơi có thể sử dụng API thermal để theo dõi các thay đổi trên thiết bị và hành động để giúp khôi phục nhiệt độ bình thường. Ví dụ: các ứng dụng phát trực tuyến có thể giảm độ phân giải/tốc độ bit hoặc lưu lượng truy cập mạng, ứng dụng máy ảnh có thể tắt đèn flash hoặc tính năng nâng cao hình ảnh chuyên sâu, hoặc trò chơi có thể giảm tốc độ khung hình hoặc lưới đa giác. Đọc thêm tại đây.

Khả năng tương thích thông qua API công khai

Android 10 tiếp tục mở rộng các quy định hạn chế đối với giao diện không phải SDK, để các ứng dụng dần chuyển sang chỉ sử dụng API công khai. Nếu một giao diện mà bạn hiện đang dùng bị hạn chế, thì bạn có thể yêu cầu một API công khai mới cho giao diện đó. Để giúp bạn chuyển đổi và ngăn ứng dụng của bạn bị lỗi, chúng tôi chỉ bật các quy tắc hạn chế khi ứng dụng của bạn nhắm đến Android 10 (API 29). Để biết thêm thông tin chi tiết về các hạn chế, hãy xem hướng dẫn dành cho nhà phát triển.

Cập nhật nhanh hơn, mã mới hơn

Android 10 được xây dựng để cập nhật nhanh hơn thông qua Project Treble. Dự án này cung cấp một giao diện nhất quán, có thể kiểm thử giữa Android và mã thiết bị cơ bản của nhà sản xuất thiết bị và nhà sản xuất silicon. Thông qua Treble, các nhà sản xuất thiết bị có thể đưa Android 10 vào các thiết bị tuân thủ Treble một cách nhanh chóng hơn và với chi phí thấp hơn.

Android 10 cũng là phiên bản đầu tiên hỗ trợ Project Mainline (chính thức gọi là bản cập nhật hệ thống Google Play), công nghệ mới của chúng tôi để bảo mật cho người dùng Android và giúp thiết bị của họ luôn mới mẻ nhờ những thay đổi quan trọng về mã – trực tiếp từ Google Play. Nhờ các bản cập nhật hệ thống Google Play, chúng tôi có thể cập nhật các thành phần nội bộ cụ thể trên tất cả các thiết bị chạy Android 10 trở lên mà không cần bản cập nhật hệ thống đầy đủ từ nhà sản xuất thiết bị.

Đối với nhà phát triển, chúng tôi hy vọng những nội dung cập nhật này trong Android 10 sẽ giúp tăng tính nhất quán của việc triển khai nền tảng trên nhiều thiết bị, đồng thời mang lại sự đồng nhất cao hơn theo thời gian, từ đó giảm chi phí phát triển và kiểm thử.

Bắt đầu

Để xem toàn bộ tài nguyên dành cho nhà phát triển về Android 10, hãy truy cập vào developer.android.com/10.