Lập trình ứng dụng Android chạy tốt trên tất cả các thiết bị chạy các phiên bản hệ điều hành Android khác nhau (ví dụ HĐH Android 4, 5, 6, 7, 8, 9, 10) là yêu cầu quan trọng đối với công việc lập trình Android chuyên nghiệp.
Đặc biệt, lập trình viên (LTV) cần tối ưu ứng dụng chạy tốt trên các phiên bản HĐH mới nhất ví dụ Android 10 vì càng ngày sẽ có càng nhiều thiết bị được nâng cấp lên HĐH Android 10 hoặc các thiết bị Android đời mới được cài sẵn phiên bản Android mới nhất (10), do đó tối ưu chất lượng ứng dụng trên HĐH Android 10 sẽ mang đến trải nghiệm tốt hơn cho đa số người dùng.
Để tối ưu chất lượng ứng dụng, tránh các lỗi khi chạy app trên HĐH Android 10, chúng ta cần tìm hiểu về Android 10 change logs (tạm dịch: những thay đổi đáng lưu ý trên Android 10) trên trang chủ về lập trình Android: https://developer.android.com/about/versions/10/highlights để từ đó có những lưu ý khi lập trình app có thể chạy tối ưu, tránh gặp lỗi trên HĐH Android 10. Bài viết này sẽ lược dịch các vấn đề về Android 10 change logs cần lưu ý khi lập trình như sau:
Với Android 10, bạn có thể tận dụng những cải tiến phần cứng và phần mềm mới nhất để xây dựng 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 hóa các ứng dụng của mình cho các thiết bị có thể gập lại và các thiết bị màn hình lớn khác.
Thư mục
Dựa trên sự hỗ trợ đa cửa sổ mạnh mẽ, Android 10 mở rộng đa nhiệm trên các cửa sổ ứng dụng và cung cấp tính liên tục màn hình để duy trì trạng thái ứng dụng của bạn khi thiết bị gập hoặc mở ra. Android 10 bổ sung một số cải tiến về onResume và onPause để hỗ trợ đa sơ yếu lý lịch và thông báo cho ứng dụng của bạn khi ứng dụng được tập trung. Nó cũng thay đổi cách hoạt động của thuộc tính tệp kê khai có thể thay đổi kích thước, để giúp bạn quản lý cách ứng dụng của bạn được hiển thị trên màn hình lớn và có thể gập lại. Để giúp bạn xây dựng cho các thiết bị có thể gập lại, bạn có thể định cấu hình trình giả lập có thể gập lại dưới dạng thiết bị ảo (AVD) trong Android Studio. Để biết chi tiết về cách tối ưu hóa ứng dụng của bạn cho các phần có thể gập lại, hãy xem hướng dẫn dành cho nhà phát triển .
Mạng 5G
5G hứa hẹn sẽ cung cấp tốc độ nhanh hơn và độ trễ thấp hơn, Android 10 bổ sung 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 các cải tiến 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 hay không. Với những ứng dụng này, ứng dụng và trò chơi của bạn có thể điều chỉnh trải nghiệm phong phú, hấp dẫn cho người dùng trên 5G.
Trả lời thông minh trong thông báo
Android 10 sử dụng ML trên thiết bị để đề xuất các hành động theo ngữ cảnh trong thông báo, chẳng hạn như 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. Ứ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 bạn phải làm gì cả. Theo mặc định, các hành động và trả lời thông minh do hệ thống cung cấp được chèn trực tiếp vào các 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 bạn nếu bạn muốn. Chỉ cần từ chối Trả lời thông minh trên cơ sở mỗi thông báo bằng cách sử dụng setAllowGeneratedReplies () và setAllowSystemGeneratedContextualActions () .

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.
Chủ đề tối
Android 10 bổ sung một chủ đề tối toàn hệ thống, lý tưởng cho á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 chủ đề tối toàn hệ thống mới bằng cách đi tới Cài đặt hoặc bật Trình tiết kiệm pin. Điều này thay đổi giao diện người dùng hệ thống thành tối và cho phép chủ đề tối của các ứng dụng hỗ trợ nó. Bạn có thể xây dựng một chủ đề tối tùy chỉnh cho ứng dụng của mình hoặc chọn tham gia tính năng Force Dark mới cho phép hệ thống tự động tạo một phiên bản tối từ chủ đề hiện tại 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 chủ đề tối cho người dùng trên các phiên bản Android trước đó. 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 chủ đề tối cho ứng dụng của bạn một cách linh hoạt với Force Dark.
Điều hướng cử chỉ

Điều hướng cử chỉ cung cấp cho ứng dụng toàn màn hình cho nội dung.
Android 10 giới thiệu chế độ điều hướng hoàn toàn bằng cử chỉ 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ú hơn, phong phú hơn. Nó giữ lại điều hướng Back, Home và Recents quen thuộc thông qua các thao tác vuốt cạnh thay vì các nút có thể nhìn thấy. Để kết hợp hoàn hảo với điều hướng cử chỉ, bạn nên đi từ cạnh này sang bên kia, vẽ phía sau thanh điều hướng để tạo ra trải nghiệm nhập vai. Để thực hiện điều này, các ứng dụng nên sử dụng API setSystemUiVisibility () để được đặt toàn màn hình và sau đó xử lý WindowInsets khi thích hợp để đảm bảo rằng các phần UI quan trọng không bị che khuất. Bắt đầu tối ưu hóa ứ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
Bây giờ bạn có thể hiển thị các cài đặt hệ thống chính trực tiếp trong ngữ cảnh của ứng dụng của mình, thông qua API Bảng điều khiển cài đặt mới. Bảng cài đặt là giao diện người dùng nổi mà bạn gọi để hiển thị các 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 âm thanh. Ví dụ: trình duyệt có thể hiển thị bảng điều khiển với các cài đặt kết nối như Chế độ trên máy bay, Wi-Fi (bao gồm các mạng gần đó) và Dữ liệu di động. Để hiển thị bảng cài đặt, chỉ cần thực hiện một ý định với một trong các hành động Cài đặt.Panel mới.
Phím tắt chia sẻ
Chia sẻ Phím tắt giúp chia sẻ nhanh hơn và dễ dàng hơn, cho phép người dùng chuyển trực tiếp sang ứng dụng khác để chia sẻ nội dung. Các 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ọ với nội dung được đính kèm và 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ẻ. Bởi vì chúng được xuất bản trước, UI chia sẻ tải ngay lập tức khi được khởi chạy. Chia sẻ Phím tắt tương tự như Phím tắt ứng dụng và sử dụng cùng API ShortcutInfo . API cũng được hỗ trợ trong thư viện ShareXarget AndroidX. Xem ứng dụng mẫu để biết chi tiết.

Phím tắt chia sẻ cho phép người dùng chuyển trực tiếp đến một hoạt động cụ thể trong ứng dụng của bạn với nội dung được đính kèm.
Quyền riêng tư cho 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 đế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 bao gồm các thay đổi lớn để bảo vệ quyền riêng tư và cung cấp cho người dùng quyền kiểm soát nhiều hơn, với giao diện người dùng được cải thiện, quyền hạn chế hơn và các hạn chế về những ứng dụng dữ liệu nào có thể sử dụng. Xem các thay đổi về quyền riêng tư để biết chi tiết về cách hỗ trợ những điều này trong ứng dụng của bạn.

Người dùng hiện có thể chọn cấp quyền truy cập vào vị trí khi ứng dụng ở phía trước.
Cung cấp cho người dùng quyền kiểm soát nhiều hơn đối với dữ liệu vị trí – Người dùng có quyền kiểm soát nhiều hơn đối với dữ liệu vị trí của họ thông qua tùy chọn quyền mới – giờ đây họ có thể cho phép ứng dụng chỉ truy cập vị trí trong khi ứng dụng thực sự được sử dụng (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 đủ mức truy cập, trong khi đối với người dùng, đó là một cải tiến lớn về tính minh bạch và kiểm soát. Để tìm hiểu thêm về thay đổ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ét mạng – Hầu hết các API cho các mạng quét đã yêu cầu quyền truy cập vị trí thô. Android 10 tăng khả năng bảo vệ xung quanh các API đó bằng cách yêu cầu sự cho phép vị trí tốt thay thế .
Ngăn theo dõi thiết bị – Ứng dụng không còn có thể truy cập số nhận dạng thiết bị không thể cài đặt lại có thể được sử dụng để theo dõi, bao gồm IMEI thiết bị, số sê-ri và số nhận dạng tương tự. Địa chỉ MAC của thiết bị cũng được chọn ngẫu nhiên khi được kết nối với mạng Wi-Fi theo mặc định. Đọc các thực tiễn tốt nhất để giúp bạn chọn định danh phù hợp cho trường hợp sử dụng của bạn và xem 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 nhằm giúp người dùng kiểm soát nhiều hơn các tệp trong bộ nhớ ngoài và dữ liệu ứng dụng trong đó. Các ứng dụng có thể lưu trữ các tệp của riêng chúng trong các hộp cát riêng, nhưng phải sử dụng MediaStore để truy cập các tệp phương tiện được chia sẻ và sử dụng trình chọn tệp hệ thống để truy cập các tệp được chia sẻ trong bộ sưu tập Tải xuống mới. Tìm hiểu thêm ở đây .
Chặn các gián đoạn không mong muốn – Android 10 ngăn ứng dụng khởi chạy từ nền bất ngờ nhảy vào nền trước và chiếm lấy trọng tâm từ một ứng dụng khác. Tìm hiểu thêm ở đâ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 các tiến bộ về mã hóa, tăng cường nền tảng và xác thực. Đọc thêm về cập nhật bảo mật Android 10 tại đây .
Mã hóa lưu trữ – Tất cả các thiết bị tương thích khởi chạy với Android 10 được yêu cầu để mã hóa dữ liệu người dùng và để làm cho việc này hiệu quả hơn, Android 10 bao gồm Adiantum , chế độ mã hóa mới của chúng tôi.
TLS 1.3 theo mặc định – Android 10 cũng cho phép TLS 1.3 theo mặc định, một sửa đổi lớn đối với tiêu chuẩn TLS với lợi ích hiệu suất và bảo mật nâng cao .
Tăng cường 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.
Cải thiện 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 như khuôn mặt và thêm các luồng xác thực ẩn và rõ ràng. Trong luồng 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 được thiết kế để thay thế trọng lượng nhẹ hơn cho các giao dịch với xác thực thụ động. Android 10 cũng cải thiện dự phòng cho thông tin đăng nhập thiết bị khi cần. Tìm hiểu thêm ở đây .
Máy ảnh và phương tiện truyền thông
Độ sâu động cho ảnh
Hiện tại, các ứng dụng 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 yếu tố liên quan đến độ sâu và bản đồ độ sâu và độ tin cậy được nhúng trong cùng một tệp. Những thứ này cho phép bạn cung cấp các tùy chọn làm mờ và hiệu ứng Bo mạch chuyên dụng trong ứng dụng của bạn. Dynamic Depth 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 của mình để đưa nó lên các thiết bị chạy Android 10 trở lên.



Với hình ảnh Độ sâu động, bạn có thể cung cấp các tùy chọn làm mờ và hiệu ứng mờ chuyên dụng trong ứng dụng của mình.
Kết nối
Cải thiện kết nối ngang hàng và internet
Chúng tôi đã tái cấu trúc ngăn xếp Wi-Fi để cải thiện tính riêng tư và hiệu suất và cũng để 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 phải có sự cho phép của vị trí. API kết nối mạng giúp quản lý các thiết bị IoT qua Wi-Fi cục bộ dễ dàng hơn, cho các chức năng ngang hàng như định cấu hình, tải xuống hoặc in. API gợi ý mạng cho phép các ứng dụng hiển thị các mạng Wi-Fi ưa thích cho người dùng để kết nối internet.
Chế độ hiệu suất Wi-Fi
Hiện tại, các ứng dụng 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 khi độ trễ thấp rấ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 thời gian thực, cuộc gọi thoại tích cực và các trường hợp sử dụng tương tự. Nền tảng hoạt động với phần sụn 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 () với WIFI_MODE_FULL_LOW_LATENCY
hoặc WIFI_MODE_FULL_HIGH_PERF
. Trong các chế độ này, nền tảng hoạt động với phần sụn thiết bị để đáp ứng yêu cầu với mức tiêu thụ điện năng thấp nhất.
Tổng kết:
Như vậy, chúng ta đã tham khảo được về Android 10 change logs, để từ đó có thể tối ưu việc lập trình ứng dụng chạy tốt trên các thiết bị HĐH Android 10. Ngoài ra, lập trình viên nên test (kiểm thử) các chức năng trong ứng dụng của mình trên thiết bị HĐH Android 10 để đảm bảo các tính năng đều chạy tốt, hoạt động ổn định và không gặp lỗi.
Tham khảo: https://developer.android.com/about/versions/10/highlights
-LHD-