تحسين استهلاك تطبيقك للطاقة

يوضّح هذا المستند أفضل الممارسات حول كيفية تحسين استهلاك الطاقة في تطبيق التنقّل المتوافق مع الأجهزة الجوّالة الذي تُنشئه باستخدام حزمة تطوير البرامج (SDK) لنظام التنقّل. وفي الوقت نفسه، يوضّح التقرير المفاضلات التي يجب مراعاتها عند استخدام هذه الممارسات. يتناول هذا المستند على وجه التحديد ما يلي:

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

لماذا عليك تحسين تطبيق التنقّل؟

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

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

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

ما هو أكثر الأجهزة استهلاكًا للطاقة؟

يقسم هذا القسم الأنشطة داخل التطبيق المرتبطة باستهلاك طاقة عالٍ إلى فئتين:

  • عرض الشاشة
  • تحديثات الموقع

عرض الشاشة

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

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

تحديثات الموقع

بالإضافة إلى عرض المحتوى على الشاشة، يستهلك نشاطان آخران للتنقّل طاقة الجهاز:

  • استخدام برج الخلوي ونظام تحديد المواقع العالمي (GPS)
  • تعديلات الموقع الجغرافي ومشاركته، مثلاً لتقديم وقت مقدَّر للوصول أو للإبلاغ عن مواضع مركبة في أسطول

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

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

تحسين استخدام تطبيقك للطاقة

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

تغيير عدد اللقطات في الثانية

تعدّل الشاشة ما تعرضه بمعدّل يُعرف باسم معدّل عرض اللقطات. يتم عادةً قياس عدد اللقطات في الثانية (FPS). بما أنّ عرض الشاشة يستخدم الكثير من وحدة المعالجة المركزية أو وحدة معالجة الرسومات، يمكنك تقليل معدل عرض اللقطات لتوفير استهلاك الطاقة.

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

اطّلِع على قسم عدد اللقطات في الثانية في مستندات المطوّرين لمركز تطوير الوسائط في Android لمعرفة المزيد من المعلومات حول تعديل عدد اللقطات في الثانية.

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

لإخفاء واجهة مستخدم التنقّل، لا تُضِف NavigationView أو SupportNavigationFragment، أو إذا سبق لك إجراء ذلك، أزِل الرمز الذي يضيفهما. تم تعديل الرمز البرمجي التالي من حزمة تطوير البرامج (SDK) لميزة التنقّل في تطبيق Android التجريبي، ويوضّح استخدام التعليقات لإزالة الرمز الذي يضيف واجهة مستخدم التنقّل:

//Obtain a reference to the NavigationFragment
//setContentView(R.layout.activity_nav_fragment);
//mNavFragment = (SupportNavigationFragment)   getSupportFragmentManager().findFragmentById(R.id.navigation_fragment);

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

تطبيق تجريبي قيد التشغيل مع ظهور "وضع الخريطة"
الشكل 1: تطبيق Navigation SDK التجريبي لنظام التشغيل iOS يعرض عرضًا توضيحيًا لاسترداد البيانات
تطبيق تجريبي قيد التشغيل بدون عرض الخريطة
الشكل 2: تطبيق تجريبي قيد التشغيل بدون عرض خريطة يُرجى العِلم أنّ الوقت والمسافة المتبقيتَين، بالإضافة إلى الموقع الجغرافي الذي تم التقاطه على الطريق، لا يزالان قيد التعديل.

استخدام نمط خريطة داكن

ننصحك باستخدام مظهر داكن للخريطة لتقليل كمية الطاقة اللازمة لعرض الخريطة على الشاشة.

تعرِض حزمة تطوير البرامج (SDK) لميزة التنقّل خرائطها باستخدام حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل Android، التي تتضمّن خيارات لتحديد ملف شخصيلأي عرض من عروض الخرائط غير المخصّصة للتنقّل في تطبيقك. تتيح أيضًا طريقة العرض المخصّصة للتنقّل تفعيل الوضع الداكن بشكل إجباري. قد لا يؤثر ذلك في كل جهاز بالطريقة نفسها بسبب اختلافات في نوع الشاشة، ولكنه يسمح بتوفير الطاقة المحتمل في بعض الحالات. تبيّن من خلال دراسة حديثة أنّ مقدار الطاقة التي يتم توفيرها باستخدام "الوضع الداكن" على بعض الشاشات يعتمد على مستوى سطوع الشاشة في البداية. على سبيل المثال، يوفر الوضع الداكن طاقة أكبر على الشاشات التي تم ضبطها على سطوع كامل مقارنةً بالشاشات التي تم ضبط سطوعها على ‎30-50% من الحد الأقصى. من المهم مراعاة ذلك عند استخدام وضع "الإضاءة المنخفضة" في تطبيقاتك، لأنّ ميزة توفير الطاقة ستكون نسبية إلى كيفية ضبط المستخدم النهائي لسطوع الشاشة.

للاطّلاع على مزيد من المعلومات عن تعديل واجهة مستخدم التنقّل، اطّلِع على مقالة تعديل واجهة مستخدم التنقّل.

لقطة شاشة لحزمة تطوير البرامج Navigation SDK تعمل على هاتف iPhone 15 Pro بأسلوب خريطة داكن
الشكل 3:حزمة تطوير البرامج (SDK) للتنقّل تم ضبطها باستخدام نمط خريطة داكن

لإنشاء نمط داكن لخريطتك، استخدِم عنصر MapStyleOptions مع نمط JSON يمثّل اختيارك لنمط الخريطة الداكن. يمكن إنشاء أنماط JSON القديمة باستخدام محرِّر الأنماط القديم على الرابط https://mapstyle.withgoogle.com/.

تغيير معدّل تعديل الموقع الجغرافي باستخدام نظام تحديد المواقع العالمي (GPS)

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

لا يمكنك التحكّم في ذلك مباشرةً في Navigation SDK ، ولكن إذا كان تطبيق Android يطلب الموقع الجغرافي بشكل مستقل، عليك مراعاة النصائح الواردة في مقالة تحسين استهلاك البطارية في ميزة "تحديد الموقع الجغرافي" في مستندات مطوّري تطبيقات Android. تنطبق النصيحة نفسها على استخدام مصادر الموقع الجغرافي غير المستندة إلى نظام تحديد المواقع العالمي (GPS) (الشبكة الخلوية وشبكة Wi-Fi).

تعريف المستخدمين بالمنتج

قد يريد مستخدمو تطبيقك معرفة كيفية تحسين استهلاكهم للطاقة. لمساعدتهم في تقليل استهلاك الطاقة في تطبيقاتهم، ننصحك بتوجيه المستخدمين إلى اتّباع الخطوات التالية:

  • قفل الهاتف
  • وضع تطبيق التنقّل في الخلفية
  • استخدام ميزة التنقّل بدون خريطة إن أمكن
  • خفض سطوع الشاشة، إما باستخدام الوضع الداكن للشاشات OLED وAMOLED أو من خلال تفعيل ميزة "السطوع التكيُّفي"
  • الحفاظ على برودة الجهاز
  • الاتصال بشبكة Wi-Fi داخل المركبة إذا كانت متاحة
اطّلِع على مقالة تمديد عمر بطارية جهاز Android لأقصى حدٍّ ممكن للحصول على نصائح للمستخدِم النهائي حول إطالة عمر البطارية على Android. تذكَّر أنّ هذه النصائح تشمل إجراءات قد تؤدي إلى تدهور فعالية تطبيق التنقّل كما هو موضح في تحسين استخدام الطاقة في تطبيقك في هذا الدليل.

قياس استهلاك الطاقة

يمكنك استخدام أدوات احترافية لقياس استهلاك الطاقة، ولكن غالبًا ما يكون من الصعب الحصول عليها أو تكون باهظة التكلفة. تقيس أدوات تحليل التطبيقات وأدوات IDE استهلاك الطاقة، مثل أداة تحليل استهلاك الطاقة في Android Studio ولوحة "استخدام البطارية" في XCode Organizer، ولكن قد يكون من الصعب إزالة تأثير العمليات التي تعمل في الخلفية أو ضبط أساس أداء مقارنةً به. في بعض الحالات، قد تمنع قيود الجهاز الوصول إلى البيانات اللازمة.

يمكنك استخدام أجهزة خاصة لمراقبة الطاقة وتعديل إعدادات اتصال البطارية، كما تتوفّر منتجات وخدمات تجارية لمساعدتك في إجراء ذلك. يُرجى العِلم أنّ تعديل الأجهزة بهذه الطريقة قد يؤدي إلى إبطال ضمان الجهاز.