جدول المحتويات:
في كل مرة يتلقى فيها البرنامج على هواتفنا تحديثًا كبيرًا ، نسمع كيف سيعمل بشكل أفضل ويستخدم بطارية أقل لدينا. في حين أن هذا صحيح في كثير من الأحيان ، فإن الأفكار وكيفية تنفيذها تحتاج إلى الكثير من التحسينات لتلبية التوقعات. يعمل نظام Android 7.0 على تحسين اثنين من الميزات الموجودة لمساعدتهما على الارتقاء بمستوى إمكاناتهما الكاملة: Doze Projects و Project Svelte.
الأهداف بسيطة - العثور على طرق لجعل الهاتف أقل طاقة جائعة عند عدم استخدامه ، وإدارة أفضل لعمليات الخلفية. تم تصميم جميع البرامج مع التركيز على الأداء والكفاءة ، ونظام التشغيل أكثر من ذلك بكثير. سوف نلقي نظرة على التغييرات ونرى كيف يمكن أن يكون لها تأثير.
مشروع Svelte
وصل Project Svelte في عام 2013 مع إصدار Android 4.4 KitKat كوسيلة لنظام التشغيل لأداء أفضل على الهواتف المنخفضة النهاية. على هذه الجبهة ، نجحت ، لكننا توقعنا تغييرات أكبر مما حصلنا عليه. للحصول على فكرة جيدة عن نوايا Svelte الأصلية ، لا تنظر إلى Android One. كان الهدف هو إنشاء أجهزة غير مكلفة تدير أحدث إصدار من نظام Android جيدًا بما يكفي للتوصية.
مع Android 7.0 ، يستمر المشروع في تقليل تأثير الأداء من خلال وجود نظام أفضل لإدارة عمليات الخلفية.
تعمل التغييرات التي تمت على Svelte على معالجة مشكلتين محددتين وهامتين تفرضان تشغيل التطبيقات في الخلفية
يختلف نظام Android عن نظام التشغيل iOS. يمكن لأي مطور دفع رسوم بسيطة جدًا ونشر تطبيق في Google Play إلى جانب أسماء مثل Facebook أو Samsung. شريطة أن لا يحتوي التطبيق على تعليمات برمجية ضارة ، فسيتم تشغيله على الجميع ليتم تثبيته ، وما لم يتم الإبلاغ عن محتوى غير لائق أو الإجراءات التي سيظل عليها (على الرغم من أن Google تقول إنها تقوم بإجراء فحص تلقائي لكل تطبيق قبل دفعه مباشرة). هذا بعيد كل البعد عن تقديم كل تطبيق يخضع لعملية الموافقة اليدوية ، وهذا يعني أن التطبيقات لا يتم رفضها لأنها لا تتبع أفضل ممارسات التطوير. لا يساعد سلوك بعض واجهات برمجة التطبيقات الحالية ، وحتى أفضل التطبيقات يمكن أن تستيقظ وتستخدم الموارد في كثير من الأحيان بسبب عملية خاطئة.
تعمل التحسينات التي تمت على Svelte في Android Nougat على إصلاح مشكلتين صارختين:
- تحقق التطبيقات لمعرفة ما إذا كانت الشبكة تتغير باستخدام ما يسمى مستقبل البث. عند حدوث تغيير ، يستيقظ كل تطبيق يستمع إلى التغيير من خلال الطريقة الافتراضية في وقت واحد ويحاول معالجة البيانات حول التغيير. فكّر في كيفية تصرف هاتفك عند بدء تشغيله وكل شيء يحدث في وقت واحد ، وأنت لدينا فكرة لماذا يحتاج هذا إلى نوع من التحسن. عند توجيهها نحو Android 7.0 ، يمكن للتطبيقات الاستماع فقط إلى تغييرات الشبكة من خلال سلسلة الرسائل الرئيسية (ما يتم تشغيله عندما يكون التطبيق مستيقظًا وكنت تستخدمه) حتى لا تستيقظ في كل مرة تقوم فيها بتبديل الشبكات. سيؤدي ذلك إلى استخدام وقت أقل من ذاكرة الوصول العشوائي ووحدة المعالجة المركزية ، مما يعني أن هواتفنا ستعمل بشكل أفضل وتستخدم طاقة أقل.
- في الإصدارات السابقة من Android ، تمكنت التطبيقات من الاستماع على جهاز استقبال إذاعي مماثل لالتقاط صورة أو مقطع فيديو. عندما حدث ذلك ، استيقظ كل تطبيق كان يستمع وحاول معالجة البيانات في وقت واحد. كما ذكر أعلاه ، هذا ليس جيدًا جدًا من ناحية الأداء. في Android 7.0 ، لا يمكن إرسال الصورة الجديدة وعمليات بث الفيديو الجديدة. هذا يعني أنه حتى إذا لم يقم المطورون بتحديث التطبيقات الحالية ، فلن يُطلب منهم أبدًا أن يستيقظوا عند التقاط صورة أو مقطع فيديو.
بالنسبة للتطبيقات للقيام بالكثير من الأشياء التي نريدها أن تفعلها ، يجب أن تبقى حية. إن تقليص حجم الأشياء التي يقومون بها أثناء انتظارهم بهدوء ليصبح نشطًا مرة أخرى عن طريق إزالة الوظائف غير الضرورية يعني أن عددًا أقل من التطبيقات سيتم تشغيله بدلاً من النوم عند إرساله إلى الخلفية.
غفوة المشروع
الطريقة التي تعمل بها الأشياء الآن ، إما أنك تحب Doze أو لا ترى Doze يفعل أي شيء ملحوظ على هاتفك. هذا بسبب الطريقة التي يعمل بها.
عندما ظهر تطبيق Doze في نظام Android 6.0 ، كان الهدف منه تأجيل نشاط وحدة المعالجة المركزية والشبكة أثناء إيقاف تشغيل شاشة هاتفك وفصله عن التيار الكهربائي وبدون حراك. إذا لم يتم استيفاء المعايير الثلاثة ، فلن يتم تشغيل تطبيق Doze وستستمر التطبيقات في العمل كالمعتاد. لقد نجح هذا الأمر جيدًا أثناء تواجدك في المكتب وفي مكتبك ، لكن بمجرد وصولك إلى جيبك توقف Doze عن فعل أي شيء وتوقف الفوائد.
تتيح ميزة Doze المكونة من مرحلتين لهاتفك استخدام بطارية أقل أثناء تنقلك وتحريكه أيضًا
تغيير السلوك في Android Nougat بسيط. يحتوي Doze الآن على مرحلتين: الأولى هي عندما تكون الشاشة في وضع إيقاف التشغيل وأن الهاتف غير موصول ، والآخر هو عندما يكون الهاتف بلا حراك.
عندما يعمل هاتفك على البطارية فقط وكانت الشاشة في وضع إيقاف التشغيل لفترة زمنية محددة ، ستتوقف التطبيقات عن الوصول مباشرة إلى الشبكة ، ويتم تأجيل أنشطة مثل المزامنة وغيرها من المهام إلى أن يمر وقت محدد مسبقًا. بعد ذلك ، تسمح لهم نافذة صيانة قصيرة بأداء وظائف الخلفية العادية. يعمل هذا الجزء أثناء وجود هاتفك في جيبك أو يخضع لأشكال أخرى من الحركة.
عندما يكون الهاتف لا يزال لفترة محددة من الوقت ، فإن كل القيود المفروضة على Doze - أشياء إضافية مثل التطبيقات التي تستيقظ في الخلفية أو تستمع لما يسمى المنبه (وليس النوع الذي يوقظك في الصباح أو تلك التي لم تتأثر) أو تبحث عن الموقع الحالي - يتم تطبيقها على رأس الشبكة وتأجيل الوظائف. لا تزال نافذة الصيانة تظهر بانتظام ، ولكن بين تلك النوافذ ، لا يكاد هاتفك يعمل ولا يعمل الكثير حتى تستلمه.
نحن نعرف جيدًا كيف يعمل Doze (عندما لا يتم تعديله بواسطة الأشخاص الذين قاموا ببناء هاتفك) أثناء استمرار الهاتف. الآن سنرى أيضًا فائدة عندما نتحرك ونتحرك أيضًا.
هل ستعمل التغييرات التي تمت على Svelte و Doze على إصلاح كل مشكلة في الأداء والبطارية؟ الجواب، بالطبع، هو لا. لكن هذه التغييرات هي خطوات منطقية تتناول شيئين محددين للغاية يلزم معالجتهما. ستكون النتيجة أفضل مما لدينا الآن ، حتى لو لم تستطع حل كل شيء.