إدارة طاقة النظام الأساسي

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

نعس

يعمل Doze على إطالة عمر البطارية عن طريق تأجيل نشاط وحدة المعالجة المركزية للشبكة وخلفية التطبيق عند عدم استخدام الجهاز لفترات طويلة.

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

يعمل نظام Android 7.0 والإصدارات الأحدث على توسيع Doze لتشغيل مجموعة أخف من التحسينات في كل مرة يقوم فيها المستخدم بإيقاف تشغيل شاشة الجهاز ، حتى عندما يستمر المستخدم في التنقل ، مما يتيح عمر بطارية أطول.

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

متطلبات الغفوة

يتطلب دعم Doze أن يكون للجهاز خدمة رسائل سحابية ، مثل Firebase Cloud Messaging (FCM) . يمكن لأحداث المشغل الخارجية ، مثل الرسائل السحابية ، تنبيه التطبيقات مؤقتًا للقيام بالعمل بينما يظل الجهاز في وضع Doze.

يتطلب دعم التجويف الكامل أيضًا كاشف حركة كبير (SMD) على الجهاز ؛ ومع ذلك ، فإن وضع Doze خفيف الوزن في Android 7.0 والإصدارات الأحدث لا يتطلب SMD. إذا تم تمكين Doze على جهاز:

  • لديه SMD ، تحدث تحسينات Doze الكاملة (بما في ذلك تحسينات خفيفة الوزن).
  • لا يحتوي على SMD ، تحدث فقط تحسينات Doze خفيفة الوزن.

دورة حياة الغفوة

يبدأ Doze عندما يكتشف النظام الأساسي أن الجهاز في وضع الخمول وينتهي عند حدوث واحد أو أكثر من أنشطة معايير الخروج.

كشف

يكتشف النظام الأساسي أن الجهاز في وضع الخمول عندما:

  • الجهاز ثابت (باستخدام SMD).
  • شاشة الجهاز متوقفة عن العمل لبعض الوقت.

لا يعمل وضع Doze أثناء توصيل جهاز يعمل بالبطارية بشاحن طاقة.

أثناء الغفوة

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

  • لا يُسمح للتطبيقات بالوصول إلى الشبكة.
  • تم تجاهل wakelocks التطبيق.
  • تم تأجيل الإنذارات. يستثني إنذارات المنبه والإنذارات التي تم ضبطها باستخدام setAndAllowWhileIdle() (تقتصر على 1 لكل 15 دقيقة لكل تطبيق أثناء التواجد في Doze). هذا الاستثناء مخصص للتطبيقات (مثل التقويم) التي يجب أن تعرض إشعارات تذكير الحدث.
  • لا يتم إجراء عمليات فحص Wi-Fi.
  • مزامنة SyncAdapter JobScheduler مؤجلة حتى نافذة الصيانة التالية.
  • يتم وضع التطبيقات التي تتلقى رسائل SMS و MMS في قائمة بيضاء مؤقتة حتى تتمكن من إكمال معالجتها.

مخرج

يخرج النظام الأساسي من الجهاز من Doze عندما يكتشف:

  • تفاعل المستخدم مع الجهاز
  • حركة الجهاز
  • يتم تشغيل شاشة الجهاز
  • إنذار وشيك

لا تتسبب الإخطارات في خروج الجهاز من Doze.

يعمل Android 7.0 والإصدارات الأحدث على توسيع Doze من خلال تمكين وضع السكون خفيف الوزن أثناء إيقاف تشغيل الشاشة ، قبل أن يكون الجهاز في وضع الخمول.

الشكل 1. أوضاع التجفيف للأجهزة الثابتة وغير الثابتة
عمل نعس غفوة خفيفة الوزن
اثار الشاشة مغلقة ، على البطارية ، ثابتة الشاشة مغلقة ، على البطارية (غير موصلة)
توقيت زيادة فترات الصيانة بالتعاقب فترات متكررة N- دقيقة مع نوافذ الصيانة
قيود لا يوجد اتصال بالشبكة أو قفل التنبيه أو مسح GPS / Wi-Fi ؛ تم تأجيل الإنذارات والوظائف / المزامنات لا يوجد وصول إلى الشبكة ؛ تم تأجيل المهام / المزامنات إلا أثناء نوافذ الصيانة
سلوك تم استلام رسائل إعلام الدفع ذات الأولوية العالية فقط تم استلام جميع الرسائل في الوقت الفعلي (الرسائل الفورية والمكالمات وما إلى ذلك) ؛ تتيح رسالة إعلام الدفع ذات الأولوية العالية الوصول المؤقت إلى الشبكة
مخرج الحركة أو الشاشة أو المنبه المنبه الشاشة مفتوحة

التفاعل مع وضع الاستعداد للتطبيق

  • لا يتم احتساب الوقت الذي تقضيه في Doze ضمن وضع الاستعداد للتطبيق.
  • أثناء وجود الجهاز في Doze ، يُسمح للتطبيقات الخاملة بأداء العمليات العادية مرة واحدة على الأقل يوميًا.

دمج الغفوة

عند تمكين Doze ، تقوم الأجهزة التي تدعم SENSOR_TYPE_SIGNIFICANT_MOTION بإجراء تحسينات Doze كاملة (بما في ذلك تحسينات خفيفة الوزن) ؛ الأجهزة التي لا تحتوي على SMD تؤدي فقط تحسينات Doze خفيفة الوزن. يحدد Android تلقائيًا تحسينات Doze المناسبة ولا يلزم تكوين البائع.

لتمكين Doze لجهاز:

  1. تأكد من تثبيت خدمة الرسائل السحابية على الجهاز.
  2. في تراكب ملف تكوين الجهاز overlay/frameworks/base/core/res/res/values/config.xml ، اضبط config_enableAutoPowerModes على true :
    <bool name="config_enableAutoPowerModes">true</bool>
    
    في AOSP ، يتم تعيين هذه المعلمة على false (Doze معطل) افتراضيًا.
  3. تأكد من أن التطبيقات والخدمات مسبقة التحميل:
  4. تأكد من أن الخدمات الضرورية معفاة من Doze.

نصائح

اختبار التطبيقات وتحسينها

اختبر جميع التطبيقات (خاصة التطبيقات المحملة مسبقًا) في وضع Doze. للحصول على تفاصيل ، راجع الاختبار باستخدام Doze و App Standby .