Để đảm bảo ứng dụng hoạt động trơn tru, bạn nên nhắm đến tốc độ 60 khung hình/giây (16 mili giây/khung hình). Nếu ứng dụng không đáp ứng thời gian kết xuất khung hình bắt buộc, hệ thống buộc phải bỏ qua một số khung hình và người dùng coi như ứng dụng bị gián đoạn kết xuất. Vấn đề tương tác không suôn sẻ do thiếu khung hình trên màn hình này được gọi là hiện tượng giật. Để biết thêm thông tin về trải nghiệm này, hãy xem bài viết Kết xuất chậm.
Mối quan hệ giữa khung hình chậm, khung hình bị treo và lỗi ANR (ứng dụng không phản hồi)
Khung hình chậm, khung hình bị treo và lỗi ANR đều là các dạng giật khác nhau mà ứng dụng của bạn có thể gặp phải. Hãy xem bảng bên dưới để hiểu sự khác biệt.
Khung hình chậm | Khung hình bị treo | ANR | |
---|---|---|---|
Thời gian kết xuất | Từ 16 mili giây đến 700 mili giây | Từ 700 mili giây đến 5 giây | Hơn 5 giây |
Vùng tác động rõ ràng của người dùng |
|
|
|
Theo dõi riêng khung hình chậm và khung hình bị treo
Khi ứng dụng của bạn đang khởi động hoặc chuyển sang một màn hình khác, thì việc khung ban đầu mất hơn 16 mili giây để vẽ là điều bình thường vì ứng dụng phải tăng cường khung hiển thị, bố trí màn hình và thực hiện bản vẽ ban đầu từ đầu.
Các phương pháp hay nhất để ưu tiên và giải quyết hiện tượng giật
Hãy lưu ý các phương pháp hay nhất sau đây khi tìm cách giải quyết hiện tượng giật trong ứng dụng:
- Xác định và giải quyết các trường hợp giật dễ mô phỏng.
- Ưu tiên lỗi ANR. Mặc dù khung hình chậm hoặc bị treo có thể khiến ứng dụng chạy chậm, nhưng lỗi ANR sẽ khiến ứng dụng của bạn bị treo.
- Quá trình kết xuất chậm rất khó tái hiện, nhưng bạn có thể bắt đầu bằng cách tắt các khung hình bị treo 700 mili giây. Đây là trường hợp hay xảy ra nhất khi ứng dụng khởi động hoặc thay đổi màn hình.