يعرض هذا المستند خطوات الإعداد الأساسية وسير العمل لأداة Batterystats والنص البرمجي Battery Historian لمعرفة كيفية استخدام Battery Historian لفحص أنماط استهلاك البطارية، يمكنك الاطلاع على تحليل استخدام الطاقة باستخدام Battery Historian.
Batterystats هي أداة مضمّنة في إطار عمل Android تجمع بيانات
البطارية على جهازك. يمكنك استخدام adb
لتفريغ بيانات البطارية التي تم جمعها
إلى جهاز التطوير وإنشاء تقرير يمكنك
تحليله باستخدام Battery Historian. يحوِّل تطبيق Battery Historian التقرير من Batterystats إلى
تمثيل مرئي بتنسيق HTML يمكنك عرضه في المتصفح.
يمكن الاستفادة من Batterystats وBattery Historian في ما يلي:
- توضيح مكان وطريقة استخلاص العمليات من البطارية
- تحديد المهام في تطبيقك التي يمكن تأجيلها أو إزالتها لتحسين عمر البطارية.
تثبيت Battery Historian
يمكنك استخدام Docker لتثبيت Battery Historian. لمعرفة طرق التثبيت البديلة، بما في ذلك الإنشاء من المصدر، يمكنك الاطّلاع على README على صفحة GitHub الخاصة بالمشروع. للتثبيت باستخدام Docker، قم بما يلي:
ثبّت Docker باتباع التعليمات الموجودة على موقعDocker الإلكتروني. يصلح أي نوع من أنواع الاشتراكات، بما في ذلك الاشتراك المجاني الشخصي.
للتأكد من تثبيت Docker بشكل صحيح، افتح سطر الأوامر وأدخِل الأمر التالي:
docker run hello-world
إذا تم تثبيت Docker بشكل صحيح، سيعرض مُخرجات على النحو التالي:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal
شغِّل تطبيق Docker Desktop - وهو واجهة واجهة مستخدم تصويرية (GUI) لـ Docker - قبل تشغيل صورة Battery Historian. يؤدي تشغيل هذا إلى تهيئة أدوات Docker. لن يتم تشغيل Battery Historian إلا بعد إجراء ذلك مرة واحدة على الأقل.
قم بتشغيل Battery Historian من سطر الأوامر عند تشغيله لأول مرة. لا يسمح لك تطبيق Docker Desktop بتحديد المنفذ الذي تريد تشغيل خادم الويب عليه. لا يمكنك تنفيذ هذا الإجراء إلا من سطر الأوامر. ومع ذلك، بعد تشغيل الحاوية بنجاح من سطر الأوامر، يتم إنشاء إدخال في Docker Desktop، وبعد ذلك يمكنك تشغيله باستخدام منفذ المستمع نفسه من Docker Desktop.
قم بتشغيل نسخة Battery Historian باستخدام الأمر التالي:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
يستخدم Battery Historian المنفذ الذي تختاره، على النحو المحدد باستخدام
port_number
.انتقِل إلى تطبيق Battery Historian في متصفّحك للتأكّد من أنّها قيد التشغيل. يختلف العنوان حسب نظام التشغيل الذي تستخدمه:
- لأجهزة Linux وMac
- يتوفّر "سجلّ البطارية" على
http://localhost:port_number
. - لنظام التشغيل Windows
- بعد بدء تشغيل Docker، يُعلِمك بعنوان IP للجهاز الذي يستخدمه. على سبيل المثال، إذا كان عنوان IP هو 123.456.78.90، سيكون Battery Historian متاحًا على
http://123.456.78.90:port_number
.
ثم تعرض صفحة بدء البطارية التاريخية، حيث يمكنك تحميل وعرض إحصائيات البطارية.
الشكل 1. هي الصفحة الرئيسية لتطبيق Battery Historian.
جمع البيانات باستخدام Batterystats
لجمع البيانات من جهازك باستخدام Batterystats وفتحها في Battery Historian، يمكنك إجراء ما يلي:
وصِّل جهازك الجوّال بجهاز الكمبيوتر.
من نافذة المحطة الطرفية، يمكنك إيقاف تشغيل خادم
adb
قيد التشغيل عن طريق تشغيل الأمر التالي:adb kill-server
أعِد تشغيل
adb
وتحقَّق من الأجهزة المتصلة من خلال تنفيذ الأمر التالي.adb devices
ويعرض هذا قائمة جهازك، على غرار المثال التالي للمخرجات.
الشكل 2. ناتج adb devices
، يعرض جهازًا واحدًا متصلاًإذا لم تظهر أي أجهزة في القائمة، تأكّد من توصيل هاتفك وتفعيل ميزة تصحيح أخطاء USB، ثم إيقاف
adb
وإعادة تشغيله.إعادة ضبط عملية جمع بيانات البطاريات عن طريق تشغيل الأمر التالي:
adb shell dumpsys batterystats --reset
يجمع الجهاز دائمًا بيانات Batterystats ومعلومات تصحيح الأخطاء الأخرى في الخلفية. وتؤدي إعادة الضبط إلى محو بيانات جمع البطارية السابقة. إذا لم تتم إعادة الضبط، يمكن أن تكون المخرجات كبيرة جدًا.
افصل الجهاز عن الكمبيوتر بحيث ترسم التيار الحالي من بطارية الجهاز فقط.
استخدِم تطبيقك ونفِّذ الإجراءات التي تريد جمع بيانات عنها. على سبيل المثال، افصل شبكة Wi-Fi وأرسِل البيانات إلى السحابة الإلكترونية.
أعِد توصيل هاتفك.
تأكَّد من التعرّف على هاتفك وشغِّل الأمر التالي:
adb devices
عليك تفريغ جميع بيانات البطارية من خلال تنفيذ الأمر التالي. قد يستغرق ذلك بعض الوقت.
adb shell dumpsys batterystats > [path/]batterystats.txt
يتم إنشاء ملف
batterystats.txt
في الدليل الذي تحدّده باستخدام وسيطة المسار الاختيارية. إذا لم تحدد مسارًا، فسيتم إنشاء الملف في الدليل الرئيسي.إنشاء تقرير من البيانات الأولية.
- بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 7.0 والإصدارات الأحدث:
-
adb bugreport [path/]bugreport.zip
- بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 6.0 والإصدارات الأقدم:
-
adb bugreport [path/]bugreport.txt
قد يستغرق إكمال تقرير الأخطاء عدة دقائق. لا تفصل جهازك أو تلغي العملية حتى تكتمل.
وكما هي الحال مع
batterystats.txt
، يتم إنشاء هذه الملفات في الدليل الذي تحدِّده باستخدام الوسيطة الاختياريةpath
. إذا لم تحدد مسارًا، يتم إنشاؤه في الدليل الرئيسي.إذا لم يكن قيد التشغيل بالفعل، فقم بتشغيل Battery Historian باستخدام الأمر التالي:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
لعرض بياناتك في Battery Historian، افتح سجل البطارية في المتصفح. بالنسبة إلى نظامي التشغيل Mac وLinux، يتم تشغيل Battery Historian في
http://localhost:port_number
. بالنسبة إلى نظام التشغيل Windows، يعمل نظام التشغيل Battery Historic فيhttp://your_IP_address:port_number
.انقر على تصفّح ثم اختَر ملف تقرير الأخطاء الذي أنشأته.
انقر على إرسال. يفتح Battery Historian مخططًا تم إنشاؤه من بيانات Batterystats الخاصة بك.
عرض البيانات باستخدام الرسوم البيانية لتاريخ البطارية
يوضِّح الرسم البياني لتاريخ البطارية الرسوم البيانية للأحداث ذات الصلة بالطاقة بمرور الوقت.
يعرض كل صف جزءًا من شريط ملون عندما يكون أحد مكونات النظام نشطًا وبالتالي يسحب التيار من البطارية. لا يعرض الرسم البياني مقدار البطارية الذي يستهلكه المكون - فقط ما إذا كان التطبيق نشطًا أم لا. يتم تنظيم الرسوم البيانية حسب الفئة، بحيث تعرض شريطًا لكل فئة بمرور الوقت، كما هو موضّح على المحور س في الرسم البياني.
![مثال على الرسم البياني لتاريخ البطارية](https://developer.android.google.cn/static/topic/performance/images/batteryhistorian_chart_2x.png?authuser=5&hl=ar)
- أضِف مقاييس أخرى من القائمة المنسدلة.
- مرِّر مؤشر الماوس فوق اسم المقياس للاطّلاع على مزيد من المعلومات عن كل مقياس، بما في ذلك مفتاح للألوان المستخدَمة في الرسم البياني.
- مرِّر مؤشر الماوس فوق أي شريط للاطّلاع على معلومات أكثر تفصيلاً عن هذا المقياس وإحصاءات البطارية عند نقطة معيّنة في المخطط الزمني.
ناتج Batterystats الإضافي
ويمكنك عرض معلومات إضافية من ملف batterystats.txt
في قسم
الإحصاءات بعد الرسم البياني لتاريخ البطارية.
![قسم الإحصائيات في Battery Historian](https://developer.android.google.cn/static/topic/performance/images/batteryhistorian_additionalstats_2x.png?authuser=5&hl=ar)
تتضمن علامة التبويب 1 إحصاءات النظام إحصاءات على مستوى النظام، مثل مستويات إشارة الخلية وسطوع الشاشة. توفر هذه المعلومات صورة عامة عما يحدث للجهاز. يُعد هذا مفيدًا بشكل خاص للتأكد من عدم تأثير أي أحداث خارجية على اختبارك.
تتضمن علامة التبويب 2 إحصاءات التطبيق معلومات حول تطبيقات محدّدة. رتِّب قائمة التطبيقات باستخدام القائمة المنسدلة 3 ترتيب التطبيقات حسب في لوحة اختيار التطبيق. يمكنك اختيار تطبيق معيّن لعرض إحصاءاته باستخدام القائمة المنسدلة 4 تطبيقات.