شركة 2K تقلّل نسبة أحداث ANR بنسبة% 35 باستخدام مجموعة أدوات Android Game Development Kit

خلفية

Cat Daddy Games هي استوديو 2K مملوك بالكامل ومقيم في كيركلاند بواشنطن، وهي شركة مطوّرة لـ NBA 2K Mobile. أراد الفريق تحسين الجودة والثبات بشكل عام في ألعابهم، وتحديدًا من خلال تقليل أخطاء "التطبيق لا يستجيب" (ANR). تحدث أخطاء ANR عندما يتم حظر مؤشر ترابط واجهة المستخدم لتطبيق Android لفترة طويلة جدًا. عندما يحدث ذلك، فإن سلسلة التعليمات الرئيسية للتطبيق، وهي المسئولة عن تحديث واجهة المستخدم، لا يمكنها رسم أو معالجة أحداث إدخال المستخدم، مما يتسبب في شعور المستخدم بالإحباط. إذا كان التطبيق قيد التشغيل في المقدّمة، يعرض النظام مربّع حوار يسمح للمستخدم بفرض إنهاء التطبيق.

الإجراءات التي اتخذتها الشركة

يمثّل تقليل أخطاء ANR أولوية قصوى لدى Cat Daddy. عمل فريق ضمان الجودة بلا جدوى وتوصل إلى نمط شائع لخطأ ANR: حيث وجدوا أنه عندما يتم إيقاف التطبيق مؤقتًا ثم تم استئنافه بسرعة، يمكن أن يتسبب قدر كبير من الإدخال باللمس في حدوث خطأ ANR. وقد أظهر مزيد من التحقيقات التي تم إجراؤها باستخدام Firebase Crashlytics أنّ خطأ ANR هذا كان من النوع android.os.MessageQueue.authorizedPoll البيانية، وهو النوع الأكثر شيوعًا من أخطاء ANR في NBA 2K Mobile.

رأت Cat Daddy أيضًا أن المعالجة المحسّنة للإدخالات في GameActivity يمكن أن تتجنب هذا النوع من أخطاء ANR، لذا قررت الانتقال إلى GameActivity.

إنّ GameActivity هو أحد مكونات مجموعة أدوات تطوير ألعاب Android التي صُممت لمساعدة ألعاب Android في معالجة أوامر دورة التطبيقات وأحداث الإدخال وإدخال النص في رمز C/C++ للتطبيق. تقدّم GameActivity عددًا من التحسينات التي تركّز على الألعاب على الإصدار NativeActivity، مثل Fragment وعرض SurfaceView وغير ذلك من أشكال الدعم للمكتبات الرائجة ذات الصلة بتطوير الألعاب.

تستخدم GameActivity أيضًا ميزة التخزين المؤقت المزدوج في المخزن المؤقت للإدخال، ما يسمح للّعبة بالتعامل بشكل أفضل مع هذه الحالة ذات حجم الإدخال العالي.

النتائج

من خلال تنفيذ GameActivity، تمكّنت Cat Daddy بشكل كبير من تحسين طريقة معالجة الإدخالات في اللعبة، ما أدّى إلى تقليل أخطاء ANR بنسبة% 35. أدى ذلك إلى تحسين تجربة المستخدم وخلق تجربة لعب أكثر ثباتًا.

وكمكافأة إضافية، نظرًا إلى أنّ GameActivity تكتسِب من FragmentActivity، تمكّنت CatDaddy أيضًا من دمج builtWebView وBrowserVideoView اللذين كانا مطلوبَين لبعض عمليات دمج الألعاب على الشبكات الاجتماعية الأكثر رواجًا.

البدء

يمكنك تحسين تجربة لعبتك من خلال GameActivity وباقي حزمة تطوير ألعاب Android.