يوضّح هذا المستند أفضل الممارسات التي يمكنك اتّباعها لتحسين استهلاك الطاقة في تطبيق مخصّص للتنقّل على الأجهزة الجوّالة تنشئه باستخدام Navigation SDK. في الوقت نفسه، يوضّح هذا المستند التنازلات التي يجب أخذها في الاعتبار عند استخدام هذه الممارسات. على وجه الخصوص، يغطي هذا المستند ما يلي:
- مصادر استهلاك الطاقة العالي، مرتّبة من الأعلى إلى الأدنى
- استراتيجيات تحسين استهلاك الطاقة، حسب الأهمية، بدءًا بعدد اللقطات في الثانية.
- استراتيجيات المستخدمين النهائيين لتثقيف مستخدمي تطبيقك بشأن كيفية إدارة استخدامهم للأجهزة أثناء التنقّل
لماذا يجب تحسين تطبيق التنقّل؟
قد يحتاج مستخدمو تطبيقك إلى تشغيل إرشادات التنقّل لفترات طويلة، وذلك حسب ظروفهم. على سبيل المثال، يمكن لسائقي سيارات الأجرة وسعاة البريد العمل لساعات طويلة وإكمال المهام في مناطق غير مألوفة. في هذه الحالات، يعتمدون بشكل كبير على الإرشادات المفصّلة داخل التطبيق. يؤدي ذلك إلى حدوث بعض المشاكل المعتادة:
- استنزاف البطارية وتوفُّر الشواحن قد يؤدي الاستخدام المكثّف لميزة التنقّل إلى استنزاف بطاريات الأجهزة بشكل أسرع من المتوقّع. في حين يمكن للعديد من المستخدمين حلّ هذه المشكلة من خلال شحن أجهزتهم في المركبة، لا يمكن لسائقي الدراجات النارية حلّها.
- تقليل سرعة الجهاز بسبب ارتفاع درجة حرارته: وحتى المستخدمين الذين يشحنون أجهزتهم باستمرار قد يواجهون مشاكل. قد يؤدي الاستهلاك العالي للطاقة لفترات طويلة إلى ارتفاع درجة حرارة الجهاز، ما يؤدي إلى خفض سرعة المعالج وبالتالي انخفاض الأداء.
تعتمد تطبيقات الاتجاهات المفصّلة على ميزات تستهلك الكثير من الطاقة، مثل الشاشة ونظام تحديد المواقع العالمي (GPS) والتواصل اللاسلكي مع أبراج الاتصالات، لذا من أفضل الممارسات تحسين استهلاك الطاقة في تطبيقك على الأجهزة الجوّالة. بالإضافة إلى ذلك، عليك مراعاة احتياجات جمهورك المستهدف من حيث استهلاك الطاقة حتى تتمكّن من تحقيق التوازن المناسب بين الأداء وتحسين استهلاك الطاقة.
ما هي الأجهزة التي تستهلك أكبر قدر من الطاقة؟
يقسّم هذا القسم الأنشطة داخل التطبيق المرتبطة باستهلاك كبير للطاقة إلى فئتين:
- عرض الشاشة
- تحديثات الموقع
عرض الشاشة
عادةً ما يتسبّب عرض الشاشة في أعلى معدّل استهلاك للطاقة في تطبيقات التنقّل على الأجهزة الجوّالة. في كل مرة يرسم فيها الجهاز خريطة وعناصر أخرى في واجهة المستخدم على الشاشة، يعتمد على معالجة وحدة معالجة الرسومات ووحدة المعالجة المركزية. وبالمثل، عندما يترك المستخدم تلك الشاشة مفتوحة لفترات طويلة، يؤدي ذلك أيضًا إلى استهلاك المزيد من الطاقة.
إلى حد ما، يمكنك توقّع ارتفاع معدّل استهلاك الطاقة لدى السائقين أو الركاب الذين يعتمدون على خريطة مرئية للتنقّل، خاصةً إذا كانوا يستخدمون التطبيق بشكل مستمر لعدة ساعات. في هذا السيناريو، يعرض التطبيق أيضًا عددًا أكبر من عمليات العرض على الشاشة لأنّ الخريطة يتم تعديلها في الوقت الفعلي. في بعض الحالات، يمكن إعادة رسم الشاشة بشكل مستمر تقريبًا، خاصةً عندما يتنقّل المستخدم من موقع جغرافي إلى آخر بدون توقّف.
تحديثات الموقع
بالإضافة إلى عرض الشاشة، هناك نشاطان آخران للتنقّل يستهلكان طاقة الجهاز، وهما:
- استخدام برج الاتصالات اللاسلكية ونظام تحديد المواقع العالمي (GPS)
- تعديلات الموقع الجغرافي ومشاركته، مثلاً لتقديم وقت تقديري للوصول أو الإبلاغ عن مواضع مركبة في أسطول
تعتمد كلّ من شبكة GPS واتصالات الراديو الخلوي على عمليات بدء تشغيل تستهلك الكثير من الطاقة، إذ يجب أن يعثر نظام GPS على الأقمار الصناعية، وأن تتفاوض أجهزة الراديو الخلوية مع الأبراج وتنشئ اتصالاً. لهذه الأسباب، تعمل هذه التطبيقات بشكل مستمر أثناء التنقّل، حتى إذا ظلت أجهزة الراديو الخلوية نشطة لمدة تتراوح بين 20 و30 ثانية في محاولة لتقليل تكاليف بدء التشغيل. يتحكّم نظام التشغيل في هذه الإعدادات، ولا يمكنك ضبطها بسهولة في تطبيقك.
بالنسبة إلى تعديلات الموقع الجغرافي، يختلف استهلاك الطاقة استنادًا إلى عوامل لا يمكن التنبؤ بها. على سبيل المثال، تحدّد المسافة بين الجهاز ومحطة قاعدة شبكة الجوّال مقدار استهلاك الطاقة، لأنّ الجهاز سيستخدم الحد الأدنى من الإشارة اللازمة لمواصلة التنقّل من أجل تجنُّب التبديل بين الأبراج. لذلك، سيستهلك الجهاز الذي يتنقّل في منطقة ذات اتصال ضعيف طاقة أكبر من الجهاز القريب من محطة أساسية. بالإضافة إلى ذلك، قد تشارك بعض التطبيقات آخر المعلومات عن الموقع الجغرافي مع خدمة مركزية لإدارة أسطول المركبات، وبالتالي ستحتاج إلى التواصل مع خادم لإجراء ذلك.
تحسين استهلاك تطبيقك للطاقة
تتمثّل صعوبة تحسين استهلاك الطاقة في تطبيقات الملاحة في أنّ هذه التطبيقات تعتمد بشكل كبير على موارد تستهلك الكثير من الطاقة، ما يحدّ من خياراتك لتقليل التأثير بدون تقديم تنازلات، مثل تقييد استخدام الشاشة. يقدّم هذا القسم قائمة بالأساليب التي يمكنك اتّخاذها عند تحسين تطبيقك، مرتّبة من الأكثر تأثيرًا إلى الأقل تأثيرًا.
تغيير عدد اللقطات في الثانية
تحدّث الشاشة ما تعرضه بمعدّل تكرار يُعرف باسم عدد اللقطات في الثانية، ويتم قياسه عادةً باللقطات في الثانية. بما أنّ عرض الشاشة يستهلك قدرًا كبيرًا من طاقة المعالجة في وحدة المعالجة المركزية ووحدة معالجة الرسومات، يمكنك خفض معدّل عرض اللقطات لتوفير الطاقة.
عند تقليل عدد اللقطات في الثانية، قد يبدو عرض الخريطة والإيماءات التفاعلية (مثل التحريك أو التكبير أو التصغير أو التدوير) أقل سلاسة. لتحقيق التوازن بين كفاءة استهلاك الطاقة وتجربة المستخدم السريعة الاستجابة، يمكنك الحفاظ على معدّل أساسي منخفض لعدد اللقطات في الثانية وزيادته بشكل ديناميكي أثناء تفاعلات المستخدم النشطة.
يمكنك الاطّلاع على قسم عدد اللقطات في الثانية في مستندات المطوّرين ضمن مركز تطوير الوسائط على Android لمعرفة المزيد حول تعديل عدد اللقطات في الثانية.
تعديل عدد اللقطات في الثانية تلقائيًا
اعتبارًا من الإصدار 7.8.0، تضبط حزمة تطوير البرامج للتنقّل تلقائيًا عدد اللقطات في الثانية للخريطة أثناء التنقّل النشط لتحسين الأداء وتقليل استهلاك البطارية. عندما يدخل الجهاز في "وضع توفير الطاقة"، ينخفض معدّل عرض اللقطات في الثانية على الخريطة إلى 10 لقطات في الثانية، ويعود إلى 60 لقطة في الثانية عند انتهاء التنقّل أو إيقاف "وضع توفير الطاقة".
التنقّل بدون خريطة
على الرغم من أنّه لا يمكنك التحكّم في كيفية ضبط المستخدم النهائي لسطوع شاشة الجهاز أو مدة إبقائها مضاءة، يمكنك توفير خيار للحصول على إرشادات التنقّل بدون خريطة. سيسمح ذلك للمستخدم النهائي باختيار هذا الخيار للحفاظ على الطاقة. على سبيل المثال، إذا كان السائقون يعملون بانتظام في الحي نفسه، قد لا يحتاجون إلى إرشادات مستندة إلى الخريطة بشكل متكرر. يمكن تفعيل التنقّل بدون خريطة من خلال ضبط وجهة وبدء التوجيه في Navigation SDK بدون عرض خريطة.
لإخفاء واجهة مستخدم التنقّل، لا تُضِف NavigationView أو SupportNavigationFragment، أو إذا سبق لك إجراء ذلك، أزِل الرمز الذي يضيفهما. تم تعديل الرمز التالي من تطبيق العرض التوضيحي لنظام التشغيل Android الخاص بحزمة Navigation SDK، وهو يوضّح كيفية استخدام التعليقات لإزالة الرمز الذي يضيف واجهة مستخدم التنقّل:
//Obtain a reference to the NavigationFragment
//setContentView(R.layout.activity_nav_fragment);
//mNavFragment = (SupportNavigationFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_fragment);
ستواصل حزمة تطوير البرامج للتنقّل تعديل المواقع الجغرافية المحاذية للطرق والوقت المقدر للوصول ومسافة الرحلة المتبقية، وسيظل بإمكان تطبيقك الاشتراك في جميع الأحداث التي تطلقها حزمة تطوير البرامج أثناء تنقّل السائق. هذه الطريقة غير مناسبة لبعض حالات الاستخدام، كما أنّها ليست نصيحة جيدة في الحالات التي يحتاج فيها السائق إلى رؤية الخريطة واتّباع الإرشادات المرئية. توضّح لقطات الشاشة التالية مقارنة جنبًا إلى جنب بين تبديل طرق عرض الخريطة أثناء التنقّل النشط.
|
|
استخدام نمط خريطة داكن
ننصحك بتصميم الخريطة لاستخدام مظهر داكن من أجل تقليل مقدار الطاقة اللازمة لعرض الخريطة على الشاشة.
تعرض حزمة Navigation SDK الخرائط باستخدام حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android، والتي تتضمّن خيارات لتصميم أي طرق عرض للخرائط غير المتعلّقة بالتنقّل في تطبيقك. تتوافق طريقة عرض التنقّل أيضًا مع فرض الوضع الداكن. قد لا يؤثّر هذا الخيار في كل الأجهزة بالطريقة نفسها بسبب الاختلافات في نوع الشاشة، ولكنّه يتيح إمكانية توفير الطاقة في بعض الحالات. أظهرت دراسة حديثة أنّ مقدار الطاقة التي يتم توفيرها باستخدام الوضع الداكن على بعض الشاشات يعتمد على مدى سطوع الشاشة في البداية. على سبيل المثال، يحفظ الوضع الداكن المزيد من الطاقة على الشاشات المضبوطة على السطوع الكامل مقارنةً بالشاشات التي تم ضبط سطوعها مسبقًا على %30 إلى %50 من الحد الأقصى. من المهم مراعاة ذلك عند استخدام الوضع الداكن في تطبيقاتك، لأنّ توفير الطاقة سيكون مرتبطًا بمستوى سطوع الشاشة الذي يضبطه المستخدم النهائي.
لمزيد من المعلومات حول تعديل واجهة مستخدم التنقّل، يُرجى الاطّلاع على تعديل واجهة مستخدم التنقّل.
لإنشاء نمط داكن للخريطة، استخدِم عنصر MapStyleOptions مع نمط JSON يمثّل نمط الخريطة الداكن الذي اخترته. يمكن إنشاء أنماط JSON القديمة باستخدام محرِّر الأنماط القديم على الرابط https://mapstyle.withgoogle.com/.
تغيير معدّل تعديل الموقع الجغرافي باستخدام نظام تحديد المواقع العالمي (GPS)
عند التفكير في استهلاك الطاقة الناتج عن تحديثات الموقع الجغرافي المرسَلة من الجهاز، ركِّز أكثر على معدّل تكرار تحديثات الموقع الجغرافي بدلاً من كمية البيانات المرسَلة في عملية الإرسال.
لا يمكنك التحكّم في ذلك مباشرةً في Navigation SDK، ولكن إذا كان تطبيق Android يطلب الموقع الجغرافي بشكل مستقل، عليك الاطّلاع على النصائح الواردة في مقالة "تحسين الموقع الجغرافي لتوفير البطارية" في مستندات مطوّري Android. وتنطبق النصيحة نفسها على استخدام مصادر الموقع الجغرافي غير المستندة إلى نظام تحديد المواقع العالمي (GPS) (شبكة الجوّال وشبكة Wi-Fi).
تثقيف المستخدمين
قد يريد مستخدمو تطبيقك معرفة كيفية تحسين استهلاك الطاقة. لمساعدة المستخدمين على تقليل استهلاك الطاقة في تطبيقاتهم، ننصحك بما يلي:
- قفل الهاتف
- تشغيل تطبيق التنقّل في الخلفية
- استخدام ميزة التنقّل بدون خريطة إذا أمكن
- تقليل سطوع الشاشة، إما باستخدام الوضع الداكن لشاشات OLED وAMOLED، أو من خلال تفعيل ميزة "السطوع التكيُّفي"
- الحفاظ على برودة الجهاز
- الاتصال بشبكة Wi-Fi داخل السيارة إذا كانت متاحة
قياس استهلاك الطاقة
يمكنك استخدام أدوات احترافية لقياس استهلاك الطاقة، ولكن قد يكون من الصعب أو المكلف الحصول عليها. تقيس التطبيقات وأدوات تحليل الأداء في بيئات التطوير المتكاملة، مثل Power Profiler في "استوديو Android" ولوحة "استخدام البطارية" في XCode Organizer، معدّل استهلاك الطاقة، ولكن قد يكون من الصعب إزالة تأثير العمليات التي تتم في الخلفية أو تحديد مستوى أداء أساسي للقياس استنادًا إليه. في بعض الحالات، قد تمنع قيود الجهاز الوصول إلى البيانات اللازمة.
يمكنك استخدام أجهزة مخصّصة لمراقبة استهلاك الطاقة وتعديل إعدادات اتصال البطارية، وتتوفّر منتجات وخدمات تجارية لمساعدتك في ذلك. يُرجى العِلم أنّ تعديل الأجهزة بهذه الطريقة قد يؤدي إلى إلغاء الضمان.