Thông tin khái quát
Cat Daddy Games là một công ty do 2K sở hữu hoàn toàn, có trụ sở tại Kirkland, Washington và là nhà phát triển của NBA 2K Mobile. Nhóm nghiên cứu muốn cải thiện chất lượng và độ ổn định tổng thể của trò chơi, cụ thể là bằng cách giảm lỗi "Ứng dụng không phản hồi" (ANR). Lỗi ANR xảy ra khi luồng giao diện người dùng của một ứng dụng Android bị chặn quá lâu. Khi điều đó xảy ra, luồng chính của ứng dụng (chịu trách nhiệm cập nhật giao diện người dùng) không thể vẽ hoặc xử lý các sự kiện đầu vào của người dùng, khiến người dùng thất vọng. Nếu ứng dụng đang chạy ở nền trước, hệ thống sẽ hiển thị một hộp thoại cho phép người dùng buộc thoát khỏi ứng dụng.
Những việc họ đã làm
Việc giảm lỗi ANR là ưu tiên hàng đầu của Cat Daddy. Nhóm đảm bảo chất lượng đã làm việc không ngừng nghỉ và tìm ra một mẫu ANR phổ biến: họ nhận thấy rằng khi ứng dụng bị tạm dừng rồi nhanh chóng tiếp tục, một lượng lớn dữ liệu đầu vào cảm ứng có thể gây ra lỗi ANR. Sau khi điều tra thêm bằng Firebase Crashlytics, chúng tôi nhận thấy lỗi ANR này thuộc loại android.os.MessageQueue.nativePollOnce, đây là loại lỗi ANR phổ biến nhất đối với NBA 2K Mobile.
Cat Daddy cũng nhận thấy rằng việc cải thiện khả năng xử lý đầu vào trong GameActivity có thể tránh được loại lỗi ANR này, vì vậy, họ quyết định chuyển sang GameActivity.
GameActivity là một thành phần của Android Game Development Kit (Bộ phát triển trò chơi Android). Bộ phát triển này được thiết kế để hỗ trợ các trò chơi Android trong việc xử lý lệnh của chu kỳ ứng dụng, sự kiện đầu vào và phương thức nhập văn bản bằng mã C/C++ của ứng dụng. GameActivity cung cấp một số điểm cải tiến tập trung vào trò chơi so với NativeActivity
, chẳng hạn như Fragment
, hiển thị thành SurfaceView
và các tính năng hỗ trợ khác cho các thư viện phổ biến liên quan đến phát triển trò chơi.
GameActivity cũng sử dụng tính năng đệm đôi trong vùng đệm đầu vào, cho phép trò chơi xử lý tốt hơn trường hợp có nhiều dữ liệu đầu vào.
Kết quả
Bằng cách triển khai GameActivity, Cat Daddy đã có thể cải thiện đáng kể việc xử lý đầu vào của trò chơi, giúp giảm 35% lỗi ANR. Điều này giúp cải thiện trải nghiệm người dùng và tạo ra trải nghiệm chơi ổn định hơn.
Ngoài ra, vì GameActivity kế thừa từ FragmentActivity
, nên CatDaddy cũng có thể tích hợp EmbeddedWebView và EmbeddedVideoView, đây là những thành phần cần thiết cho một số hoạt động tích hợp trò chơi xã hội phổ biến nhất.
Bắt đầu
Cải thiện trải nghiệm trò chơi của riêng bạn bằng GameActivity và phần còn lại của Android Game Development Kit.