Hiệu suất trên Wear OS là một yếu tố quan trọng cần cân nhắc trong ứng dụng, vì nhiều thiết bị Wear OS có tài nguyên CPU và GPU hạn chế so với các thiết bị di động có kích thước lớn hơn. Với việc ra mắt các hiệu ứng động và hoạt ảnh phong phú hơn trong Material 3 Expressive, bạn nên xác thực và cải thiện hiệu suất của các quy trình công việc chính trong ứng dụng.
Hãy sử dụng hướng dẫn Hiệu suất của Jetpack Compose để định cấu hình và phát triển ứng dụng nhằm đạt được hiệu suất tối ưu bằng Jetpack Compose. Tài liệu này nêu bật một số kỹ thuật được mô tả trong đó.
Ngoài ra, hãy tạo và làm theo các chiến lược đo lường hiệu suất để xác thực rằng các kỹ thuật trong tài liệu này đang hoạt động như dự kiến cho ứng dụng của bạn.
Các kỹ thuật cải thiện hiệu suất cần thiết
Bắt đầu với các loại công cụ hiệu suất có tác động lớn nhất: hồ sơ cơ sở (bao gồm cả hồ sơ khởi động) và trình tối ưu hoá mã R8.
Trước khi bắt đầu, bạn nên cập nhật phần phụ thuộc Compose lên ít nhất là phiên bản 1.8. Phiên bản này có một số tính năng mới quan trọng và cải thiện độ ổn định tổng thể của thư viện. Hãy xem hướng dẫn trong phần Khai báo các phần phụ thuộc để tìm hiểu cách cập nhật. Để tìm hiểu thêm, hãy xem blog của chúng tôi về bản phát hành 1.8 và bài nói chuyện Tính năng mới trong Compose tại I/O.
Hồ sơ cơ sở
Sử dụng hồ sơ cơ sở để cải thiện hiệu suất của ứng dụng. Nhóm các lớp và phương thức đại diện cho quy trình công việc chính của ứng dụng. Hệ thống có thể biên dịch trước các lớp và phương thức này bằng cách sử dụng một cấu hình cơ sở. Điều này có thể làm giảm thời gian khởi động, giảm số lượng khung hình bị giật và cải thiện hiệu suất.
Mỗi thư viện Jetpack Compose đều có các quy tắc riêng về hồ sơ. Khi ứng dụng của bạn phụ thuộc vào một thư viện, các quy tắc cấu hình thư viện sẽ tự động được hợp nhất và phân phối với APK của ứng dụng để biên dịch trước.
Xác minh hồ sơ cơ sở bằng các kỹ thuật sau:
- Sử dụng các kiểm thử macrobenchmark.
- Tận dụng các lệnh ADB cụ thể để xác thực trạng thái của cấu hình hồ sơ ứng dụng.
Các bước cho cả hai kỹ thuật này đều được giải thích trong hướng dẫn đo lường và xác thực hiệu suất.
Hồ sơ khởi động
Là một tập hợp con của hồ sơ cơ sở, Hồ sơ khởi động tối ưu hoá thêm các lớp và phương thức mà hồ sơ này chứa để giảm độ trễ khi khởi động ứng dụng.
Việc thêm hồ sơ khởi động sẽ làm tăng kích thước APK của ứng dụng. Vì vậy, trước khi thêm hồ sơ khởi động vào bản phát hành chính thức, hãy nhớ đánh giá sự đánh đổi giữa kích thước APK và độ trễ khởi động.
Sau khi bạn đã nắm vững cách thiết lập hồ sơ cơ sở, hãy đọc bài viết Tạo Hồ sơ khởi động để bắt đầu.
R8
Sử dụng trình biên dịch R8 để rút gọn và tối ưu hoá ứng dụng. R8 sẽ xoá mã và tài nguyên không dùng đến, viết lại mã để tối ưu hoá hiệu suất thời gian chạy, v.v.
Trong hướng dẫn về cách cải thiện hiệu suất – Tổng quan, hãy xem xét các yếu tố cần cân nhắc đối với R8, bao gồm cả các bước chính để xoá tài nguyên không dùng đến.
Đo lường và xác thực hiệu suất
Để tìm hiểu về các chiến lược đo lường hiệu suất chung trên Android, hãy xem bài viết Tổng quan về cách đo lường hiệu suất của ứng dụng. Phần này chứa một số kỹ thuật được thảo luận trong tài liệu đó.
Chọn một biến thể bản dựng để đo lường
Mặc dù chế độ gỡ lỗi rất hữu ích để phát hiện nhiều vấn đề, nhưng nó cũng khiến hiệu suất giảm đáng kể, không sử dụng hồ sơ cơ sở và còn gây khó khăn cho việc phát hiện các vấn đề khác về mã làm ảnh hưởng đến hiệu suất.
Để hiểu chính xác hiệu suất của ứng dụng, hãy chạy ứng dụng ở chế độ phát hành.
Bạn chỉ nên đưa ra kết luận cuối cùng về hiệu suất bằng cách sử dụng các kiểm thử được thực hiện với ứng dụng chạy bằng các lựa chọn bản dựng phát hành và trên thiết bị thực.
Tuy nhiên, khi kiểm thử đo điểm chuẩn, hãy sử dụng biến thể bản dựng đo điểm chuẩn. Biến thể này có một số điểm khác biệt chính so với gỡ lỗi bản phát hành. Hãy xem Hướng dẫn thiết lập Macrobenchmark để biết thông tin chi tiết.
Xác thực hồ sơ cơ sở của ứng dụng
Bắt đầu bằng cách kiểm tra trạng thái trang doanh nghiệp của bạn:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
Nếu trạng thái không phải là status=speed-profile
, thì tức là các quy tắc cấu hình chưa được áp dụng để tối ưu hoá ứng dụng.
Các quy tắc được áp dụng bằng một lệnh chạy trong nền khi thiết bị được sạc và ở trạng thái rảnh. Bạn có thể kích hoạt quy trình này theo cách thủ công bằng cách chạy lệnh sau sau khi chạy ứng dụng và đã đủ thời gian để cho phép trình cài đặt hồ sơ khởi động hồ sơ ở chế độ nền. Quy trình này thường mất khoảng 40 giây.
adb shell cmd package bg-dexopt-job
Sau đó, bạn có thể chạy lại lệnh trước đó để kiểm tra xem trạng thái hiện tại có phải là speed-profile
không.
Đối với các tình huống khi thực hiện tối ưu hoá khi cài đặt, hãy xem phần Cài đặt hồ sơ cơ sở không qua cửa hàng.
UI Automator API
Sử dụng API Trình xem Automator của giao diện người dùng để đo điểm chuẩn các phần riêng biệt của giao diện người dùng khi kiểm tra hành trình của người dùng để có thể tối ưu hoá.
Nó hoạt động bằng cách tự động hoá các lượt tương tác với giao diện người dùng theo phương thức lập trình.
Các kiểm thử Macrobenchmark
Macrobenchmark kiểm thử các trường hợp sử dụng lớn hơn trong ứng dụng của bạn, đặc biệt là khi khởi động ứng dụng và các thao tác phức tạp trên giao diện người dùng. Hãy xem hướng dẫn triển khai để bắt đầu.
Để biết ví dụ về cách sử dụng macrobenchmark để xác thực hiệu suất của Hồ sơ cơ sở, hãy xem các mẫu hiệu suất trên GitHub.
Thư viện JankStats
Sử dụng thư viện JankStats để theo dõi và phân tích các vấn đề về hiệu suất trong ứng dụng.
Để biết ví dụ, hãy xem mẫu JankStats trên GitHub.
Theo dõi hệ thống
Với các loại ảnh động mới do Material 3 Expressive giới thiệu, bạn có thể sử dụng tính năng Theo dõi hệ thống trong Android Studio để kiểm tra và chẩn đoán độ trễ trong những hành trình có thể gây ra vấn đề cho người dùng. Dựa vào thông tin này, sau đó bạn có thể xác minh nội dung của các cấu hình cơ sở và kiểm tra logic mã để tìm những vị trí có thể gây ra tình trạng không hiệu quả.
Công cụ khác
Ngoài các công cụ cải thiện hiệu suất, nhà phát triển có thể sử dụng những công cụ khác để cải thiện năng suất và quy trình làm việc.
Công cụ nâng cao hiệu suất của Android Studio
Android Studio cung cấp một số công cụ có thể giảm thời gian bạn dành ra để tìm cách cải thiện hiệu suất.
Ví dụ: bằng cách sử dụng các công cụ như Chỉnh sửa trực tiếp và Xem trước thành phần kết hợp, bạn có thể xác định giao diện người dùng bị giật, cùng với các khu vực liên quan trong mã của ứng dụng để cải thiện hiệu suất.
Chạy tất cả các kiểm thử hiệu suất cuối cùng trên một bộ thiết bị Wear OS thực đại diện chính xác cho cơ sở người dùng mục tiêu của bạn.
Điều này đặc biệt quan trọng khi bạn di chuyển sang Material 3 Expressive, vì phiên bản này giới thiệu các tính năng như phông chữ linh hoạt và biến đổi hình dạng cho ứng dụng của bạn.
Nếu bạn đang di chuyển từ các khung hiển thị, hãy xem hướng dẫn di chuyển và các phương pháp hay nhất để cải thiện hiệu suất Jetpack Compose của chúng tôi để xác minh rằng giao diện người dùng của ứng dụng hoạt động hiệu quả khi sử dụng Jetpack Compose.
Tài nguyên khác
Để nắm bắt thông tin mới nhất về hiệu suất trên Android, hãy xem Tin tức và video mới nhất trong Hướng dẫn về hiệu suất ứng dụng.