معالجة المشاكل الشائعة المتعلّقة بالأداء

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

توضّح الأدلة الواردة في هذا القسم سلوك منصة Android الأساسية لكل نوع من المشاكل، كما تشرح كيفية تشخيصها وتحديد خصائصها وإصلاحها باستخدام أدوات مثل Android Studio Profiler وPerfetto وLogcat وApplicationExitInfo.

الثبات

  • أخطاء ANR: يمكنك تشخيص أخطاء "التطبيق لا يستجيب" (ANR) الناتجة عن حظر سلاسل محادثات واجهة المستخدم أو عمليات الإدخال/الإخراج في سلسلة المحادثات الرئيسية أو تعارض الأقفال أو بطء أجهزة استقبال البث وإصلاحها.
  • الأعطال: يمكنك الاطّلاع على عمليات تتبُّع تسلسل استدعاء الدوال البرمجية وفحص نتائج Logcat ومنع الاستثناءات غير المعالَجة والإشارات الأصلية.

العرض والبدء

  • العرض البطيء: حدِّد وأصلِح إطارات واجهة المستخدم التي تم إسقاطها أو تجميدها (>16ms و>700ms) بسبب التصميمات المكلفة أو عمليات الربط أو توقّف مؤقت في سلسلة التعليمات الرئيسية.
  • الجلسات البطيئة (الألعاب فقط): يمكنك قياس سرعة عرض اللقطات باستخدام SurfaceFlinger وتحسين عدد اللقطات في الثانية في اللعبة باستخدام Android Frame Pacing (Swappy) وVulkan و"إطار عمل الأداء الديناميكي في Android"‏ (ADPF).
  • مدة بدء تشغيل التطبيق: يمكنك فهم التفاصيل الداخلية لعمليات التشغيل على البارد وإعادة التشغيل البطيء وإعادة التشغيل السريع، وقياس الوقت المستغرَق للعرض الأولي (TTID) والوقت المستغرَق للعرض الكامل (TTFD)، وتحسين عملية بدء التشغيل.

إدارة الذاكرة

البطارية والعمل في الخلفية

الأذونات وتحسين عملية الإنشاء

  • رفض الأذونات: اطلب أذونات التشغيل في السياق واشرح للمستخدمين بوضوح الأساس المنطقي للأذونات.
  • تحسين رمز DEX: يمكنك ضبط قواعد تقليص الحجم وإخفاء التشويش والتحسين في R8 لتقليل حجم DEX وتحسين أداء وقت التشغيل.