Khi Compose cập nhật một khung, nó sẽ trải qua ba giai đoạn:
- Thành phần: Compose xác định nội dung cần hiển thị. Thành phần này chạy các hàm kết hợp và xây dựng cây giao diện người dùng.
- Bố cục: Compose xác định kích thước và vị trí của từng phần tử trong cây giao diện người dùng.
- Vẽ: Compose thực sự kết xuất các phần tử giao diện người dùng riêng lẻ.
Compose có thể bỏ qua bất kỳ giai đoạn nào trong số đó một cách thông minh nếu không cần thiết. Ví dụ: hãy giả sử một phần tử đồ hoạ hoán đổi giữa hai biểu tượng có cùng kích thước. Vì phần tử này không thay đổi kích thước và không có phần tử nào trong cây giao diện người dùng được thêm hoặc xoá nên Compose có thể bỏ qua các giai đoạn thành phần và bố cục đồng thời chỉ vẽ lại một phần tử này.
Tuy nhiên, lỗi lập trình có thể khiến Compose khó biết được những giai đoạn mà nó có thể bỏ qua một cách an toàn. Trong trường hợp đó, Compose sẽ chạy cả 3 giai đoạn, điều này có thể làm chậm giao diện người dùng. Vì vậy, nhiều phương pháp hay nhất về hiệu suất là giúp Compose bỏ qua các giai đoạn mà phương thức này không cần làm.
Để biết thêm thông tin, hãy xem hướng dẫn Các giai đoạn trong Jetpack Compose.
Nguyên tắc chung
Có một vài nguyên tắc chung mà bạn có thể áp dụng để cải thiện hiệu quả chung:
- Bất cứ khi nào có thể, hãy di chuyển các phép tính ra khỏi các hàm kết hợp. Bạn có thể cần chạy lại các hàm kết hợp bất cứ khi nào giao diện người dùng thay đổi. Mọi mã bạn đặt trong thành phần kết hợp sẽ được thực thi lại, có thể cho tất cả các khung của ảnh động. Giới hạn mã của thành phần kết hợp ở cấp độ chỉ thực sự cần thiết để tạo giao diện người dùng.
- Trì hoãn việc đọc trạng thái càng lâu càng tốt. Bằng việc chuyển trạng thái đọc cho thành phần kết hợp con hoặc giai đoạn sau, bạn có thể giảm thiểu thao tác kết hợp lại hoặc bỏ qua toàn bộ giai đoạn thành phần. Bạn có thể thực hiện việc này bằng cách truyền các hàm lambda thay vì giá trị trạng thái cho trạng thái thay đổi thường xuyên, và bằng cách ưu tiên các giá trị sửa đổi trên hàm lambda khi truyền ở trạng thái thường xuyên thay đổi. Bạn có thể xem ví dụ về kỹ thuật này trong phần Trì hoãn việc đọc càng lâu càng tốt của bài viết Tuân thủ các phương pháp hay nhất.
Tài nguyên khác
- Hướng dẫn về hiệu suất ứng dụng: Khám phá các phương pháp hay nhất , thư viện và công cụ để cải thiện hiệu suất trên Android.
- Kiểm tra hiệu suất: Kiểm tra hiệu suất của ứng dụng.
- Đo điểm chuẩn: Đo điểm chuẩn hiệu suất của ứng dụng.
- Khởi động ứng dụng: Tối ưu hoá quá trình khởi động ứng dụng.
- Hồ sơ cơ sở: Tìm hiểu về hồ sơ cơ sở.