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

Android 10 được xây dựng dựa trên 3 giao diện quan trọng. Trước tiên, Android 10 đang định hình lợi thế hàng đầu trong đổi mới dành cho thiết bị di động nhờ công nghệ học máy và hỗ trợ nâng cao cho các thiết bị mới nổi như điện thoại có thể gập lại và điện thoại hỗ trợ 5G. Tiếp theo, Android 10 tập trung vào quyền riêng tư và bảo mật, với gần 50 tính năng mang đến cho người dùng khả năng bảo vệ, tính minh bạch và khả năng kiểm soát tốt hơn. Cuối cùng, Android 10 mở rộng các chế độ kiểm soát sự cân bằng cuộc sống số của người dùng để các cá nhân và gia đình có thể cân bằng hiệu quả hơn khi sử dụng công nghệ.

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

Sự đổ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 những trải nghiệm tuyệt vời cho người dùng trong ứng dụng.

Với Android 10, bạn có thể tối ưu hoá ứng dụng của mình cho thiết bị có thể gập lại và thiết bị 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ợ nhiều cửa sổ mạnh mẽ, Android 10 mở rộng tính 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 khi ứng dụng được lấy tiêu điểm. Việc này cũng thay đổi cách hoạt động của thuộc tính tệp kê khai resizeableActivity, giúp bạn quản lý cách ứng dụng hiển thị trên màn hình lớn và màn hình gập. Để giúp bạn tạo ứng dụng cho các thiết bị có thể gập lại, bạn có thể định cấu hình một 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 lại tốc độ nhanh hơn và độ trễ thấp hơn một cách nhất quán, Android 10 bổ sung tính 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 tính năng nâng cao này. Bạn có thể sử dụng 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ó được đo lượng dữ liệu hay không. Nhờ các đặc quyền này, các ứ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.

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ư câu 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 tính năng này ngay lập tức mà không cần làm gì. Theo mặc định, các thao tác và câu trả lời 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ể đưa ra thông tin trả lời và hành động của riêng mình nếu muốn. Bạn chỉ cần chọn không sử dụng tính năng Trả lời thông minh cho mỗi thông báo bằng cách sử dụng setAllowGeneratedReplies()setAllowSystemGenerated ContextualActions().

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

Giao diện tối

Android 10 bổ sung giao diện tối trên toàn hệ thống, lý tưởng trong đ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 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 thành tối và bật giao diện tối của các ứng dụng hỗ trợ giao diện đó. Bạn có thể tạo giao diện tối tuỳ chỉnh cho ứng dụng hoặc chọn sử dụng một tính năng Buộc chế độ tối mới cho phép hệ thống linh độ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 nên tận dụng tính năng DayNight của AppCompat để cung cấp 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 cho nhà phát triển để biết thêm thông tin.

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

Thao tác bằng cử chỉ

Thao tác bằng cử chỉ giúp ứng dụng hiển thị nội dung trên toàn màn hình.

Android 10 giới thiệu chế độ điều hướng bằng cử chỉ đầy đủ giúp loại bỏ khu vực 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. Thao tác này vẫn giữ lại thành phần điều hướng quen thuộc Quay lại, Trang chủ và Gần đây thông qua thao tác vuốt từ cạnh thay vì các nút hiển thị. Để kết hợp liền mạch với thao tác bằng cử chỉ, bạn nên hiển thị tràn viền, vẽ phía sau thanh điều hướng để tạo ra một trải nghiệm sống động. Để triển khai việc này, ứng dụng nên dùng API setSystemUiVisibility() để hiện toàn màn hình, sau đó xử lý WindowInsets một cách phù hợp nhằm đả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. Hãy bắt đầu tối ưu hoá ứng dụng của bạn 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 điều khiển 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 thị các 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ụ: một 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 điều khiển cài đặt, bạn chỉ cần kích hoạt một ý định bằng một trong các thao tác Settings.Panel mới.

Chia sẻ lối tắt

Lối tắt chia sẻ giúp việc chia sẻ nhanh hơn và dễ dàng hơn, cho phép người dùng chuyển trực tiếp đến một ứng dụng khác để chia sẻ nội dung. Nhà phát triển có thể phát hành các mục tiêu chia sẻ để khởi chạy một hoạt động cụ thể trong ứng dụng có đính kèm nội dung của họ. Những mục tiêu này được hiển thị cho người dùng trong giao diện người dùng chia sẻ. Vì được phát hành trước nên giao diện người dùng chia sẻ sẽ tải ngay lập tức khi khởi chạy. Lối tắt chia sẻ cũng tương tự như Lối tắt ứng dụng và sử dụng cùng một API Lối tắt thông tin. 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ó nội dung đính kèm.

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

Quyền riêng tư là trọng tâm trong 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ó những thay đổi sâu rộng để bảo vệ quyền riêng tư và mang lại cho người dùng nhiều quyền kiểm soát hơn, với giao diện người dùng hệ thống được cải tiến, quyền nghiêm ngặt hơn và hạn chế về loại dữ liệu mà ứng dụng có thể sử dụng. 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 chạy trên nền trước.

Cung cấp 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 tuỳ chọn cấp quyền mới – giờ đây, họ có thể cho phép một ứng dụng chỉ truy cập thông tin vị trí khi ứng dụng đó thực sự đang được sử dụng (chạy ở nền trước). Đối với hầu hết ứng dụng, việc này cung cấp đủ cấp truy cập, còn đối với người dùng, đây là một điểm cải tiến đáng kể 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 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 API dùng để quét mạng đều yêu cầu quyền truy cập thông tin vị trí tương đối. Android 10 tăng cường khả năng bảo vệ xung quanh 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ị – Ứng dụng sẽ 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 của thiết bị, số sê-ri và các giá trị nhận dạng tương tự. Theo mặc định, địa chỉ MAC của thiết bị cũng được sắp xếp 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 đưa ra một số thay đổi nhằm mang lại cho người dùng thêm quyền kiểm soát đối với các tệp trong bộ nhớ ngoài cũng như dữ liệu ứng dụng trong đó. 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 tư, nhưng phải sử dụng MediaStore để truy cập vào các tệp nội dung nghe nhìn được chia sẻ và sử dụng bộ chọn tệp hệ thống để truy cập vào các tệp được chia sẻ trong bộ sưu tập Tệp đã tải xuống mới. Tìm hiểu thêm tại đây.

Chặn gián đoạn không mong muốn – Android 10 ngăn các ứng dụng khởi chạy từ nền mà đột ngột chuyển sang chế độ nền trước và giành quyền kiểm soát tiêu điểm của 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 tăng cường bảo mật cho người dùng thông qua các tiến bộ về mã hoá, củng cố nền tảng và xác thực. Đọc thêm về bản cập nhật bảo mật của Android 10 tại đây.

Mã hoá bộ nhớ – Tất cả thiết bị tương thích chạy Android 10 đều phải mã hoá dữ liệu người dùng và để tăng hiệu quả cho tính năng này, Android 10 bao gồm Adiantum, chế độ mã hoá mới của chúng tôi.

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 có lợi ích về hiệu suất và bảo mật nâng cao.

Củng cố nền tảng – Android 10 cũng bao gồm việc tăng cường cho một số lĩnh vực quan trọng về bảo mật của nền tảng.

Sinh trắc học được cải tiến – 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, cũng như thêm các luồng xác thực ngầm ẩn 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 khi xác thực. Luồng ngầm ẩn được thiết kế để mang lại giải pháp thay thế nhẹ hơn cho các giao dịch có xác thực thụ động. Android 10 cũng cải thiện tính năng dự phòng cho thông tin đăng nhập thiết bị khi cần. Tìm hiểu thêm tại đây.

Máy ảnh và nội dung nghe nhìn

Chiều sâu động cho ảnh

Các ứng dụng hiện có thể yêu cầu hình ảnh Độ sâu động, bao gồm siêu dữ liệu JPEG, XMP liên quan đến các phần tử liên quan đến độ sâu, cùng với bản đồ độ sâu và độ tin cậy được nhúng trong cùng một tệp. Các định dạng này cho phép bạn cung cấp các tuỳ chọn làm mờ và 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 lên các thiết bị chạy Android 10 trở lên.

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

Ghi lại âm thanh phát

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 cách sử dụng API ghi âm phát âm thanh mới. Ngoài việc bật tính năng tạo 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ư phát trực tiếp trò chơi. Chúng tôi xây dựng tính năng mới này để bảo vệ quyền riêng tư và bản quyền. Vì vậy, khả năng ghi âm của một ứng dụng khác sẽ bị hạn chế. Điều này giúp các ứng dụng có toàn quyền kiểm soát việc có thể ghi lại luồng âm thanh của ứng dụng đó hay không. Hãy đọc thêm trong bài đăng trên blog này.

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

Android 10 hỗ trợ thêm bộ mã hoá và giải mã video nguồn mở AV1, cho phép các 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 sử dụng í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ã mở, miễn phí bản quyền được tối ưu hoá để phát trực tuyến lời 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 giới thiệu một cách dễ dàng hơn để xác định khả năng kết xuất video của một thiết bị Android. Đối với bộ mã hoá và giải mã cụ thể bất kỳ, bạn đều 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 các ứng dụng xử lý âm thanh trong C++, Android 10 sẽ ra mắt một API MIDI gốc để giao tiếp với thiết bị MIDI thông qua NDK. API này cho phép truy xuất dữ liệu MIDI bên trong lệnh gọi lại âm thanh bằng cách sử dụng phương thức đọc không tuần tự, cho phép xử lý thông điệp MIDI có độ trễ thấp. Hãy dùng thử ứng dụng mẫu và mã nguồn tại đây.

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

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

Vulkan ở mọi nơi

Android 10 mở rộng tác động của Vulkan thông qua cách triển khai của API nhiều nền tảng, ít hao tổn tài nguyên 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à đề xuất cho tất cả các thiết bị 32 bit. Chúng tôi nhận thấy khả năng hỗ trợ Vulkan trong hệ sinh thái đã tăng đáng kể, trong số các thiết bị chạy Android N trở lên, có 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 tình hình sử dụng sẽ được cải thiện hơn nữa trong năm tới.

Khả năng kết nối

Kết nối Internet và ngang hàng được cải thiện

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 cần quyền truy cập thông tin 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 ứ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

Các ứng dụng hiện có thể yêu cầu Wi-Fi thích ứng bằng cách bật các chế độ hiệu suất cao và độ trễ thấp. Đây có thể là một lợi ích tuyệt vời, trong đó độ trễ thấp có ý nghĩa 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 chủ độ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 có 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. Ở các chế độ này, nền tảng hoạt động với chương trình cơ sở của thiết bị để đáp ứng yêu cầu có mức tiêu thụ điện năng thấp nhất.

Nền tảng Android

Tối ưu hoá ART

Các 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, tốn ít bộ nhớ hơn và chạy mượt mà hơn – mà không đòi hỏi bạn phải làm gì cả. Cấu hình ART do Google Play phân phối cho phép ART biên dịch trước các phần của ứng dụng của bạn ngay cả trước khi ứng dụng đó chạy. Trong thời gian chạy, Android 10 thêm tính năng Thu thập rác thế hệ vào Trình thu gom rác đồng thời sao chép (CC) của ART để giúp việc thu thập rác hiệu quả hơn về thời gian và CPU, giảm hiện tượng giật và giúp ứ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 biết tỷ lệ phần trăm mức cải thiện về thời gian khởi động của một số ứng dụng khi kiểm thử bằng hồ sơ trên Play.

Neural Networks API 1.2

Chúng tôi đã thêm 60 hoạt động mới, bao gồm ARGMAX, ARGMIN, LSTM lượng tử hoá cùng với một loạt tính năng tối ưu hoá hiệu suất. Điều này đặt nền móng cho việc tăng tốc nhiều loại mô hình hơn, chẳng hạn như các mô hình dùng để phát hiện đối tượng và phân đoạn hình ảnh. Chúng tôi đang làm việ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à ra mắt tính năng hỗ trợ cho NNAPI 1.2.

API Nhiệt

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 các ứng dụng và trò chơi. Giờ đây, trên Android 10, các ứng dụng và trò chơi có thể dùng một API Nhiệt để theo dõi các thay đổi trên thiết bị và hành động để khôi phục nhiệt độ bình thường. Ví dụ: ứng dụng truyền 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ăng cường 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 đang sử 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 bị lỗi, chúng tôi sẽ chỉ bật các hạn chế khi ứng dụng của bạn đang nhắm đến Android 10 (API 29). Để biết thêm thông tin chi tiết về các hạn chế này, hãy xem hướng dẫn 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, 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ị cũng như nhà sản xuất silicon. Nhờ Treble, các nhà sản xuất thiết bị có thể đưa Android 10 lên các thiết bị tuân thủ chuẩn Treble nhanh chóng hơn với chi phí thấp hơn.

Android 10 cũng là bản phát hành đầu tiên hỗ trợ Project Mainline (tên chính thức là Bản cập nhật hệ thống Google Play). Đây là công nghệ mới của chúng tôi giúp bảo mật cho người dùng Android và giúp thiết bị luôn cập nhật những thay đổi quan trọng về mã ngay trên Google Play. Với 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 yêu cầu nhà sản xuất thiết bị cập nhật toàn bộ hệ thống.

Đố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 thúc đẩy tính nhất quán khi triển khai nền tảng trên toàn bộ các thiết bị. Theo thời gian, chúng tôi sẽ nâng cao tính đồng nhất để giảm chi phí phát triển và kiểm thử.

Bắt đầu

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