دراسات الحالة

شركة Monzo تعزّز مقاييس الأداء بنسبة تصل إلى% 35 من خلال تحديث بسيط لأداة R8

مدّة القراءة: دقيقتان

‫Monzo هو مصرف رقمي في المملكة المتحدة يضم 15 مليون عميل، وهذا العدد في تزايد مستمر. مع توسّع التطبيق، حدّد الفريق الهندسي وقت بدء تشغيل التطبيق كمجال مهم للتحسين، ولكنّه كان قلقًا من أنّ ذلك سيتطلّب تغييرات كبيرة في قاعدة الرموز البرمجية.

من خلال تفعيل تحسينات R8 بالكامل، حقّق Monzo انخفاضًا هائلاً بنسبة% 35 في نسبة أخطاء "التطبيق لا يستجيب" (ANR). أثبت هذا التغيير البسيط أنّ التحسينات المؤثرة لا تتطلّب دائمًا جهودًا هندسية معقّدة.

تحقيق تحسينات كبيرة في الأداء باستخدام وضع R8 الكامل

حدّدت Monzo الوضع الكامل لـ R8 كحلّ سهل يستحق التجربة، وقد نجح في تحسين الأداء بشكل عام:

  • موثوقية بدء التشغيل: تحسّنت عمليات التشغيل على البارد بنسبة %30، وعمليات إعادة التشغيل البطيء بنسبة %24، وعمليات إعادة التشغيل السريع بنسبة %14.
  • سرعة التشغيل: تحسّنت أوقات التشغيل في المئين 50 بنسبة% 11 وفي المئين 90 بنسبة %12.
  • الكفاءة: تم تقليل حجم التطبيق الإجمالي بنسبة %9.
  • ثبات الأداء: انخفاض في أخطاء ANR بنسبة %35
AANDDM_Monzo_Quote-1.png
large_AANDDM_Monzo_Quote-2.png

تفعيل التحسينات من خلال تغيير واحد

تستخدم العديد من تطبيقات Android ملف إعدادات تلقائيًا قديمًا يوقف معظم وظائف أداة تحسين R8. كان التغيير الرئيسي الذي أجرته Monzo لتحقيق هذه التحسينات في الأداء هو استبدال ملف proguard-android.txt التلقائي بـ proguard-android-optimize.txt. يؤدي هذا التغيير إلى إزالة تعليمات -dontoptimize والسماح لـ R8 بأداء مهمته بشكل صحيح.

buildTypes {
  release {
    isMinifyEnabled = true
    isShrinkResources = true
    proguardFiles(
      getDefaultProguardFile("proguard-android-optimize.txt"),
    )
  }
}

بعد إجراء هذا التغيير، ننصحك بالاطّلاع على ملفات إعداد Keep. تُعلم هذه الملفات أداة R8 بأجزاء الرمز البرمجي التي يجب تركها بدون تغيير (عادةً لأنّها تُستدعى ديناميكيًا أو من خلال مكتبات خارجية). إنّ ترتيب قواعد Keep غير الضرورية يعني أنّ R8 يمكنه تنفيذ المزيد من المهام.

تحسين أداء الانتقال للأعلى أو للأسفل باستخدام "الملفات الشخصية للمرجع"

لتحسين تجربة المستخدم بشكل أكبر، نفّذ Monzo الملفات الشخصية للمرجع، مستهدفًا على وجه التحديد أداء الانتقال والعرض في الخلاصة الرئيسية. وقد ضمنت هذه الاستراتيجية تحسين تجارب المستخدمين الأكثر شيوعًا، مثل فتح التطبيق وتصفُّح الخلاصة، بشكل كامل. وكان التأثير في العرض كبيرًا: أصبح أداء التمرير في المئوية 90 أسرع بنسبة% 71، وتحسّن أداء التمرير في المئوية 95 بنسبة %87. أصبح التمرير في التطبيق الآن أكثر سلاسة من ذي قبل.

وقد أدرجت Monzo هذه الميزة في عملية الإصدار للحفاظ على هذه التحسينات بمرور الوقت. يقول "نيوماير": "نبدأ في إنشاء ملفات الأداء الأساسية كل يوم من أيام الأسبوع (قبل تشغيل الإصدارات الليلية) ونُجري آخر التغييرات بعد اكتمالها".

مواكبة أحدث تقنيات تطوير تطبيقات Android

توضّح تجربة Monzo ما يمكن تحقيقه عند مواكبة آخر المستجدات في ما يتعلّق باقتراحات أدوات إنشاء Android. على الرغم من أنّ التطبيقات القديمة غالبًا ما تواجه صعوبة في استخدام الانعكاس المعقّد، وجدت Monzo أنّ عملية الانتقال سهلة من خلال توثيق قواعد الاحتفاظ بالبيانات بشكل صحيح. يقول "نيوماير": "نضيف دائمًا تعليقًا يشرح سبب تطبيق قواعد الاحتفاظ بالبيانات، لكي نعرف متى يمكن إزالتها بأمان".

ما هي نصيحة "نيوماير" للفرق الأخرى؟ تحقَّق بانتظام من ممارساتك مقارنةً بالمعايير الحالية: "اطّلِع على أحدث اقتراحات Google بشأن أداء التطبيق وتحقَّق مما إذا كنت تتّبع أحدث النصائح".

للبدء ومعرفة المزيد عن R8، يُرجى الانتقال إلى https://d.android.com/r8

من كتابة:
متابعة القراءة