لتحسين عمر بطارية الجهاز، يمكن أن يؤثر Android في حالة الجهاز من خلال ومراقبة استخدام الجهاز والاستيقاظ. يمكن أن تدخل المنصة السكون لإيقاف الأنشطة مؤقتًا عن العمل أثناء عدم استخدام الجهاز.
لمحة عن ميزة "القيلولة"
يساعد القيلولة على إطالة عمر البطارية عن طريق تأجيل تشغيل وحدة المعالجة المركزية (CPU) الخلفية للتطبيق نشاط الشبكة عند عدم استخدام الجهاز لفترات طويلة.
تدخل الأجهزة الخاملة في ميزة "القيلولة" بشكل دوري نافذة صيانة، والتي يتم خلالها تطبيقات يمكنها إكمال الأعمال المعلَّقة (عمليات المزامنة والوظائف وما إلى ذلك). القيلولة ثم استئناف الفيديو النوم لفترة أطول، تليها نافذة صيانة أخرى. تشير رسالة الأشكال البيانية تُواصل النظام الأساسي تسلسل النوم/الصيانة "القيلولة"، ما يزيد من طول غير نشط في كل مرة، إلى أن يبلغ الحد الأقصى بضع ساعات من وقت النوم. إطلاقًا يبقى الجهاز في وضع "القيلولة" على دراية بالحركة ويغادر الجهاز "القيلولة" على الفور. في حال اكتشاف حركة.
يعزز الإصدار Android 7.0 والإصدارات الأحدث ميزة "القيلولة" لتشغيل مجموعة أصغر من التحسينات في كل مرة يغلق فيها المستخدم شاشة الجهاز، حتى عندما يستمر المستخدم في التنقل، مما يوفر عمرًا أطول للبطارية.
يتم إعداد خدمات النظام المهمة بشكل عام من قبل الشركات المصنّعة للأجهزة المستخدم من القيلولة. يمكن للمستخدمين أيضًا استثناء تطبيقات معيّنة من تفعيل ميزة "القيلولة" باستخدام قائمة الإعدادات ومع ذلك، قد يؤدي استثناء التطبيقات إلى استنزاف بطارية الجهاز. يكون القيلولة غير مفعّلة تلقائيًا في AOSP، حيث تفاصيل حول تفعيل ميزة "القيلولة"، راجِع دمج ميزة "القيلولة".
متطلبات القيلولة
يتطلب دعم ميزة "القيلولة" أن يشتمل الجهاز على خدمة مراسلة عبر السحابة الإلكترونية، مثل Firebase خدمة المراسلة عبر السحابة الإلكترونية (FCM): أحداث التحفيز الخارجي، مثل رسائل السحابة الإلكترونية، يمكنه تنشيط التطبيقات مؤقتًا لتنفيذ العمل بينما يظل الجهاز في وضع القيلولة.
يتطلب دعم ميزة "القيلولة الكامل" أيضًا كبير كاشف الحركة (SMD) على الجهاز إلا أن وضع القيلولة الخفيف في لا يتطلب الإصدار 7.0 من نظام التشغيل Android والإصدارات الأحدث وحدة SMD. في حال تفعيل ميزة "القيلولة" على أحد الأجهزة الذي:
- تتضمّن SMD، تحسينات على "القيلولة" الكاملة (يشمل ذلك التحسينات).
- لا تحتوي على SMD، بل تحدث فقط تحسينات القيلولة الخفيفة.
دورة حياة القيلولة
يبدأ القيلولة عندما تكتشف المنصة أن الجهاز غير مستخدَم من قِبل أي برنامج حاليًا عند حدوث نشاط واحد أو أكثر من أنشطة معايير الخروج.
يرصد النظام الأساسي أنّ الجهاز غير نشِط لفترة قصيرة في الحالات التالية:
- الجهاز ثابت (باستخدام SMD).
- يتم إطفاء شاشة الجهاز لبعض الوقت.
لا يعمل وضع "القيلولة" عند توصيل جهاز يعمل بالبطارية بشاحن كهربائي.
أثناء القيلولة
يحاول النظام الأساسي إبقاء النظام في حالة السكون بشكل دوري استئناف العمليات العادية أثناء نافذة الصيانة ثم إرجاع الجهاز بالنوم لفترات متكررة أطول. أثناء النوم، يحدث ما يلي القيود نشطة:
- لا يتم السماح للتطبيقات بالوصول إلى الشبكة.
- تم تجاهل عمليات قفل التنشيط للتطبيق.
- يتم تأجيل المنبّهات. باستثناء المنبّهات والمنبّهات التي تم ضبطها باستخدام
setAndAllowWhileIdle()
(الحد الأقصى هو فيديو واحد كل 15 دقيقة لكل تطبيق أثناء في القيلولة). هذا الاستثناء مخصّص للتطبيقات (مثل "تقويم Google") التي يجب أن تعرض. وإشعارات التذكير بالحدث. - لا يتم إجراء عمليات البحث عن شبكات Wi-Fi.
- تم تأجيل
SyncAdapter
من عمليات المزامنة وJobScheduler
مهمة. حتى نافذة الصيانة التالية. - ويتم وضع التطبيقات التي تتلقى الرسائل القصيرة SMS ورسائل الوسائط المتعددة في قائمة بيضاء مؤقتة بحيث يمكنهم إكمال معالجتها.
الخروج
يخرج النظام الأساسي من الجهاز من Doze عندما يرصد ما يلي:
- تفاعل المستخدم مع الجهاز
- حركة الجهاز
- يتم تشغيل شاشة الجهاز
- منبّه الساعة الوشيكة
لا تؤدي الإشعارات إلى خروج الجهاز من ميزة "القيلولة".
يعمل الإصدار 7.0 من نظام التشغيل Android والإصدارات الأحدث على إطالة فترة القيلولة من خلال تفعيل وضع نوم خفيف أثناء إطفاء الشاشة، وقبل أن يكون الجهاز في وضع عدم النشاط.
الشكل 1. أوضاع القيلولة للأجهزة غير الثابتة والثابتة
الإجراء | القيلولة | قيلولة خفيفة |
---|---|---|
المشغّل | الشاشة مقفلة، البطارية، ثابتة | الشاشة مقفلة، البطارية (غير متصلة) |
التوقيت | زيادة فترات الصيانة بشكل تدريجي | فترات متكرّرة في N دقيقة مع نوافذ صيانة |
القيود | عدم إمكانية الوصول إلى الشبكة أو قفل التنشيط أو البحث عن نظام تحديد المواقع العالمي (GPS)/Wi-Fi المنبّهات والمهام/عمليات المزامنة يمكن تأجيله | لا يمكن الوصول إلى الشبكة. المهام/عمليات المزامنة المؤجلة باستثناء فترات الصيانة |
السُلوك | تم فقط استلام رسائل الإشعارات الفورية ذات الأولوية العالية | جميع الرسائل التي يتم تلقّيها في الوقت الفعلي (الرسائل الفورية والمكالمات وما إلى ذلك) تتيح رسالة الإشعارات الفورية ذات الأولوية العالية الوصول المؤقت إلى الشبكة. |
الخروج | تنبيه بحركة أو شاشة أو منبّه | الشاشة قيد التفعيل |
التفاعل مع وضع الاستعداد للتطبيقات
- لا يتم احتساب الوقت المستغرق في القيلولة ضمن وضع الاستعداد للتطبيقات.
- أثناء تشغيل الجهاز في وضع "القيلولة"، يتم السماح للتطبيقات غير النشطة بتنفيذ الإجراءات العادية. العمليات مرة واحدة على الأقل يوميًا.
دمج ميزة "القيلولة"
عند تفعيل ميزة "القيلولة"، تظهر الأجهزة المتوافقة
SENSOR_TYPE_SIGNIFICANT_MOTION
إجراء تحسينات كاملة في ميزة "القيلولة" (بما في ذلك التحسينات البسيطة)
بالنسبة إلى الأجهزة التي لا تحتوي على SMD، تُجري فقط عمليات تحسين القيلولة الخفيف. جهاز Android
يقوم تلقائيًا بتحديد تحسينات القيلولة والمورِّدين المناسبين
والتهيئة غير ضروري.
لتفعيل ميزة "القيلولة" على أحد الأجهزة، اتّبِع الخطوات التالية:
- تأكَّد من تثبيت خدمة المراسلة عبر السحابة الإلكترونية على الجهاز.
- في ملف الإعداد الخاص بتراكب الجهاز
overlay/frameworks/base/core/res/res/values/config.xml
، تم الضبط منconfig_enableAutoPowerModes
إلىtrue
:<bool name="config_enableAutoPowerModes">true</bool>
في AOSP، يتم ضبط هذه المعلمة علىfalse
(تم إيقاف القيلولة) تلقائيًا.
- تأكَّد من أنّ التطبيقات والخدمات المحمَّلة مُسبَقًا:
- يمكنك استخدام
موفّرة للطاقة
إرشادات التحسين. لمزيد من التفاصيل، يمكنك الاطّلاع على الاختبار
تحسين التطبيقات.
أو
- يتم إعفاؤها من ميزة "القيلولة" و"تطبيقات وضع الاستعداد". للحصول على التفاصيل، يمكنك مراجعة إعفاء التطبيقات:
- يمكنك استخدام
موفّرة للطاقة
إرشادات التحسين. لمزيد من التفاصيل، يمكنك الاطّلاع على الاختبار
تحسين التطبيقات.
- تأكَّد من إعفاء الخدمات اللازمة من استخدام ميزة "القيلولة".
نصائح
- واستخدِم "المراسلة عبر السحابة الإلكترونية من Firebase"، إن أمكن، من أجل أسفل الفيديو المراسلة.
- إذا كان يجب على المستخدمين رؤية إشعار على الفور، استخدِم المراسلة عبر السحابة الإلكترونية من Firebase ذات أولوية عالية.
- تقديم معلومات كافية في رسالة الحمولة (لتجنب الوصول اللاحق إلى الشبكة).
- تعيير منبّهات بالغة الأهمية باستخدام
setAndAllowWhileIdle()
أوsetExactAndAllowWhileIdle()
اختبار التطبيقات وتحسينها
اختبِر جميع التطبيقات (خاصة التطبيقات المُحمَّلة مسبقًا) في وضع "القيلولة". للحصول على التفاصيل، يمكنك الرجوع إلى الاختبار من خلال ميزة "القيلولة" و"تطبيقات وضع الاستعداد"