2K mengurangi rasio ANR 35% dengan Android Game Development Kit

Latar belakang

Cat Daddy Games adalah studio 2K yang dimiliki sepenuhnya dan berlokasi di Kirkland, Washington, dan developer NBA 2K Mobile. Tim ingin meningkatkan kualitas dan stabilitas game secara keseluruhan, terutama dengan mengurangi error "Aplikasi Tidak Merespons" (ANR). ANR terjadi saat UI thread aplikasi Android diblokir terlalu lama. Jika hal itu terjadi, thread utama aplikasi, yang bertanggung jawab untuk mengupdate UI, tidak dapat menggambar atau memproses peristiwa input pengguna, sehingga dapat membuat pengguna merasa frustrasi. Jika aplikasi berjalan di latar depan, sistem akan menampilkan dialog yang memungkinkan pengguna menutup aplikasi secara paksa.

Yang mereka lakukan

Mengurangi ANR menjadi prioritas tinggi bagi Cat Daddy. Tim UM (Uji Mutu) bekerja tanpa henti dan berhasil menemukan pola ANR umum: mereka menemukan bahwa saat aplikasi dijeda lalu segera dilanjutkan, sejumlah besar input sentuh dapat menyebabkan ANR. Investigasi lebih lanjut dengan Firebase Crashlytics menunjukkan bahwa ANR ini adalah jenis android.os.MessageQueue.nativePollplatz, jenis ANR yang paling umum untuk NBA 2K Mobile.

Cat Daddy juga melihat bahwa penanganan input yang lebih baik di GameActivity dapat menghindari jenis ANR ini, sehingga mereka memutuskan untuk berpindah ke GameActivity.

GameActivity adalah komponen Android Game Development Kit, yang dirancang untuk membantu game Android dalam memproses perintah siklus aplikasi, peristiwa input, dan input teks dalam kode C/C++ aplikasi. GameActivity menawarkan sejumlah peningkatan yang berfokus pada game dibandingkan NativeActivity, seperti Fragment, rendering ke SurfaceView, dan dukungan lainnya untuk library terkait pengembangan game populer.

GameActivity juga menggunakan buffering ganda dalam buffering inputnya, sehingga game dapat menangani kasus volume input tinggi ini dengan lebih baik.

Hasil

Dengan menerapkan GameActivity, Cat Daddy dapat meningkatkan penanganan input game secara signifikan, sehingga menghasilkan penurunan error ANR sebesar 35%. Solusi ini meningkatkan pengalaman pengguna dan menciptakan pengalaman gameplay yang lebih stabil.

Sebagai bonus tambahan, karena GameActivity mewarisi dari FragmentActivity, CatDaddy juga dapat mengintegrasikan EmbeddedWebView dan EmbeddedVideoView, yang diperlukan untuk beberapa integrasi game sosial terpopuler.

Mulai

Tingkatkan pengalaman game Anda sendiri dengan GameActivity dan Android Game Development Kit lainnya.