يقدّم Jetpack Compose أداءً ممتازًا بشكلٍ تلقائي. يمكنك إعداد تطبيقك باستخدام أفضل الممارسات لتجنُّب المشاكل الشائعة وتحسين أداء تطبيق Compose.
قياس أداء Jetpack Compose
للتحقّق من أداء Jetpack Compose مقارنةً بمكتبة Views، نستخدم مقاييس الأداء الرئيسية، وهي مقاييس تركّز على رحلات المستخدمين المهمة في العالم الحقيقي، مثل بدء تشغيل تطبيق للمرة الأولى أو تصفُّح قائمة أو شبكة تتضمّن صورًا. نُجري هذه المقاييس باستخدام تطبيق Pokedex مفتوح المصدر، ونقارن بين عمليات التنفيذ باستخدام مكتبة Views و Compose.
توضّح مقاييس الأداء هذه أنّ الإصدار Compose 1.9 والإصدارات الأحدث يقدّمان الأداء نفسه الذي تقدّمه مكتبة Views عند حدوث إيقاف مؤقت لعرض واجهة المستخدم أثناء التصفُّح.
للاطّلاع على مقاييس إضافية والتعرّف على منهجياتنا، يُرجى مراجعة مقالة مقاييس الأداء الرئيسية.
المفاهيم الرئيسية
في ما يلي بعض المفاهيم الرئيسية المتعلّقة بالأداء في Compose:
- المراحل: من المهم فهم مراحل الإنشاء والتنسيق والرسم لتحسين طريقة تعديل Compose لواجهة المستخدم.
- الملفات الشخصية للمرجع: تعمل هذه الملفات على تجميع الرمز الأساسي مسبقًا، ما يؤدي إلى إطلاق التطبيق بشكل أسرع وتوفير تفاعلات أكثر سلاسة.
- الثبات: يمكنك زيادة ثبات تطبيقك لتخطّي عمليات إعادة الإنشاء غير الضرورية بشكل أكثر فعالية، ما يؤدي إلى تحسين الأداء.
إعداد تطبيقك بشكل صحيح
إذا كان أداء تطبيقك ضعيفًا، قد تكون هناك مشكلة في الإعداد. من الخطوات الجيدة الأولى التحقّق من خيارات الإعداد التالية:
- إنشاء التطبيق في "وضع الإصدار" باستخدام أداة R8: حاوِل تشغيل تطبيقك في وضع الإصدار. يكون "وضع تصحيح الأخطاء" مفيدًا لرصد العديد من المشاكل، ولكنّه يؤثر سلبًا في الأداء وقد يصعّب رصد مشاكل أخرى. عليك أيضًا تفعيل التحسين والتقليص باستخدام برنامج تجميع R8 لضمان إنشاء بنية إصدار فعّالة وعالية الأداء.
- استخدام "الملفات الشخصية للمرجع": تعمل "الملفات الشخصية للمرجع" على تحسين الأداء من خلال تجميع الرمز مسبقًا لرحلات المستخدمين المهمة. يتضمّن Compose ملفًا شخصيًا تلقائيًا، ولكن من الأفضل أيضًا إنشاء ملف خاص بالتطبيق. مزيد من المعلومات حول "الملفات الشخصية للمرجع" في مستندات الأداء العامة على Android
الأدوات
تعرَّف على مجموعة الأدوات المتاحة لمساعدتك في قياس أداء تطبيق Compose وتحليله.
أفضل الممارسات
عند تطوير تطبيقك باستخدام Compose، يُرجى مراعاة أفضل الممارسات التالية:
- تجنُّب العمليات الحسابية المعقّدة: استخدِم
rememberلتخزين نتائج العمليات الحسابية المعقّدة مؤقتًا. - مساعدة التنسيقات المؤجّلة: قدِّم مفاتيح ثابتة للتنسيقات المؤجّلة باستخدام المَعلمة
keyلتقليل عمليات إعادة الإنشاء غير الضرورية. - الحدّ من عمليات إعادة الإنشاء غير الضرورية: استخدِم
derivedStateOfللحدّ من عمليات إعادة الإنشاء عند تغيير الحالة بسرعة. - تأجيل عمليات قراءة الحالة: يمكنك تأجيل عمليات قراءة الحالة لأطول فترة ممكنة من خلال تضمينها في دوال لامدا.
- استخدام المعدِّلات المستندة إلى لامدا لتغيير الحالة: استخدِم المعدِّلات المستندة إلى لامدا، مثل
Modifier.offset { ... }لمتغيّرات الحالة التي تتغيّر بشكل متكرّر. - تجنُّب عمليات الكتابة إلى الخلف: لا تكتب أبدًا إلى الحالة التي تمّت قراءتها من قبل في دالة مركّبة.
لمزيد من التفاصيل، يُرجى الاطّلاع على دليل أفضل الممارسات.
المشاهدات
إذا كنت تستخدم مكتبة Views بدلاً من Compose، يُرجى الاطّلاع على دليل تحسين أداء التنسيق المخصّص Improve layout performance.
مراجع إضافية
- **دليل أداء التطبيق**: يمكنك التعرّف على أفضل الممارسات والمكتبات والأدوات لتحسين الأداء على Android.
- فحص الأداء: يمكنك فحص أداء التطبيق.
- قياس الأداء: يمكنك قياس أداء التطبيق.
- **بدء تشغيل التطبيق**: يمكنك تحسين بدء تشغيل التطبيق.
- الملفات الشخصية للمرجع: يمكنك فهم الملفات الشخصية للمرجع.