الفعاليات والبرامج

تحسين كامل: اختتام أسبوع "تسليط الضوء على الأداء"

مدّة القراءة: 3 دقائق
عرض الملف الشخصي لـ "بن وايس" عرض الملف الشخصي لـ "تشارلز مونغر"
Ben Weiss و Sara Hamilton

لقد قضينا الأسبوع الماضي في التعمّق في مشاركة أفضل الممارسات والإرشادات التي تساعد في جعل تطبيقات Android أسرع وأصغر حجمًا وأكثر استقرارًا. بدءًا من الإمكانات الأساسية لأداة تحسين R8 والتحسينات المستندة إلى الملف الشخصي، ووصولاً إلى تحسينات الأداء باستخدام Jetpack Compose، ودليل جديد حول تحسين أداء تطبيقك، تناولنا الأدوات التي تتطلّب جهدًا منخفضًا وتحقّق تأثيرًا كبيرًا والتي تحتاج إليها لإنشاء تطبيق فعّال.

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

استخدام أداة تحسين R8 لتسريع تطبيقك

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

يمكنك الاستعانة بالمستندات المعدَّلة والموسَّعة حديثًا حول أداة تحسين R8.

لاحظت شركة Reddit زيادة سرعة التشغيل على البارد بنسبة% 40 وانخفاض أخطاء ANR بنسبة% 30 بعد تفعيل الوضع الكامل في R8.

يمكنك الاطّلاع على دراسة الحالة الكاملة في مدوّنتنا.

image.png

يستثمر المهندسون في Disney+‎ في أداء التطبيق ويعملون على تحسين تجربة المستخدم فيه. في بعض الأحيان، يمكن أن يكون للتغييرات الصغيرة تأثير كبير. أثناء فحص إعدادات R8، وجد الفريق أنّه تم استخدام العلامة -dontoptimize. بعد تفعيل التحسينات من خلال إزالة هذه العلامة، لاحظ فريق Disney+‎ تحسينات كبيرة في أداء التطبيق.

image.png

لذا، في المرة القادمة التي يسألك فيها شخص ما عما يمكنك فعله لتحسين أداء التطبيق، ما عليك سوى إرسال رابط هذه المقالة إليه.

يمكنك الاطّلاع على مزيد من المعلومات في منشور المدوّنة لليوم الأول: استخدام أداة R8 لتقليص حجم تطبيقك وتحسينه وتسريع أدائه

إرشادات لتحسين الأداء

تغني الملفات الأساسية عن الحاجة إلى التجميع في الوقت المناسب، ما يحسِّن سرعة بدء التشغيل والتنقّل والصور المتحركة وأداء العرض بشكل عام. تعمل ملفات بدء التشغيل الشخصية على جعل بدء تشغيل التطبيق أكثر سلاسة من خلال ترتيب ملفات classes.dex في تطبيقك بشكل ذكي.

لمزيد من المعلومات عن مدى أهمية "الملفات الشخصية للمرجع" في أداء التطبيقات، يمكنك الاطّلاع على مدوّنة Meta الهندسية التي شاركت فيها الشركة كيف ساهمت "الملفات الشخصية للمرجع" في تحسين مقاييس الأداء المهمة المختلفة بنسبة تصل إلى %40 في جميع تطبيقاتها.

نواصل تحسين أداء Jetpack Compose من أجلك في الإصدار 1.10 من Jetpack Compose. تُعدّ ميزات مثل إمكانية إيقاف التركيب مؤقتًا ونافذة ذاكرة التخزين المؤقت القابلة للتخصيص ضرورية للحفاظ على سلاسة التمرير عند التعامل مع عناصر القائمة المعقدة.يمكنك الاطّلاع على أحدث حلقة من #TheAndroidShow حيث نوضّح ذلك بمزيد من التفصيل.

يمكنك الاطّلاع على مزيد من المعلومات في مدوّنتنا التي ننشرها كل أربعاء: اعتبارات الأداء الأكثر تفصيلاً

قياس الأداء في 3 خطوات بسيطة

لا يمكنك إدارة ما لا تقيسه. يحلّل دليل تحسين الأداء رحلة القياس إلى خمس خطوات، بدءًا من البيانات المتاحة بسهولة ووصولاً إلى الأدوات المحلية المتقدّمة.

بدءًا من المستوى 1، سنعلّمك كيفية استخدام البيانات المتاحة بسهولة من مؤشرات Android الحيوية، والتي توفّر لك بيانات ميدانية عن أخطاء ANR والأعطال والاستخدام المفرط للبطارية.

وسنعلّمك أيضًا كيفية LEVEL UP. على سبيل المثال، سنوضّح كيفية الوصول إلى المستوى 3 من خلال اختبار الأداء على الجهاز باستخدام Jetpack Macrobenchmark وواجهة برمجة التطبيقات UiAutomator 2.4 API الجديدة لقياس أي تغيير في أداء تطبيقك والتحقّق منه بدقة.

مزيد من المعلومات في مدوّنة الخميس: [رابط إلى مدوّنة الخميس: دليل الارتقاء بمستوى الأداء]

تمت ترقية أداء تصحيح الأخطاء

لا يعني التحسين المتقدّم أن تكون تقارير الأعطال غير قابلة للقراءة. تم تصميم ميزات جديدة لمساعدتك في تصحيح أخطاء R8 والعمل في الخلفية بثقة:

تتبُّع Logcat تلقائيًا

بدءًا من إصدار استوديو Android Narwhal، يمكن تلقائيًا إزالة تشويش تتبُّع تسلسل استدعاء الدوال البرمجية في نافذة أداة Logcat. بهذه الطريقة، يمكنك الاطّلاع على أي أعطال وتصحيحها فورًا في إصدار جاهز للإنتاج.

تضييق نطاق قواعد الاحتفاظ بالبيانات

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

وبفضل ميزة التحقّق من الأخطاء الجديدة لقواعد Keep الواسعة، يوفّر لك تحديث الإصدار 3 من Otter في "استوديو Android"‏ (Android Studio Otter 3 Feature Drop) هذه الميزة أيضًا.

image.png

أصدرنا أيضًا إرشادات جديدة بشأن اختبار إعدادات R8 وتحديد المشاكل وحلّها لمساعدتك في ضبط الإعدادات بشكل صحيح وبثقة.

مزيد من المعلومات في منشور المدوّنة الذي نشرناه يوم الثلاثاء: ضبط قواعد الاحتفاظ بالبيانات في R8 وتحديد المشاكل وحلّها

العمل في الخلفية

شاركنا إرشادات حول تصحيح الأخطاء في السيناريوهات الشائعة التي قد تواجهها عند جدولة المهام باستخدام WorkManager.

توفّر لك أداة فحص المهام في الخلفية تمثيلاً مرئيًا وعرضًا بيانيًا لمهام WorkManager، ما يساعد في تصحيح أخطاء تأخُّر أو تعذُّر تنفيذ المهام المُجدوَلة. وتسلّط الصفحة المقصودة لمستندات "العمل في الخلفية" المحدَّثة الضوء على واجهات برمجة التطبيقات الخاصة بالمهام والمحسَّنة لحالات استخدام معيّنة، ما يساعدك في تنفيذ المهام بشكل أكثر موثوقية.
 

مزيد من المعلومات في منشور المدوّنة يوم الأربعاء: اعتبارات أداء العمل في الخلفية

تحسين الأداء هو عملية مستمرة

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

اختتمنا الأسبوع بجلسة أسئلة وأجوبة مباشرة بعنوان ‎#AskAndroid Live، حيث أجاب المهندسون عن أصعب الأسئلة حول R8 و"التحسينات المستندة إلى الملفات الشخصية" وغير ذلك. إذا فاتك البث، يمكنك مشاهدة الإعادة.

نشكرك على انضمامك إلينا. والآن، حان وقت إنشاء المحتوى ومواصلة التقدّم.

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