این سند مراحل اولیه راه اندازی و گردش کار ابزار Batterystats و اسکریپت Battery Historian را نشان می دهد. برای یادگیری نحوه استفاده از تاریخچه باتری برای بررسی الگوهای مصرف باتری، به تحلیل مصرف انرژی با تاریخچه باتری مراجعه کنید.
Batterystats ابزاری است که در چارچوب Android گنجانده شده است که داده های باتری دستگاه شما را جمع آوری می کند. میتوانید از adb
استفاده کنید تا دادههای باتری جمعآوریشده را به دستگاه توسعه خود منتقل کنید و گزارشی ایجاد کنید که میتوانید با استفاده از Battery Historian تجزیه و تحلیل کنید. Battery Historian گزارش را از Batterystats به تصویرسازی HTML تبدیل می کند که می توانید در مرورگر خود مشاهده کنید.
Batterystats و Battery Historian برای موارد زیر مفید هستند:
- به شما نشان می دهد که کجا و چگونه فرآیندها جریان را از باتری می گیرند.
- شناسایی وظایفی در برنامه شما که میتوانند برای بهبود عمر باتری به تعویق بیفتند یا حذف شوند.
Battery Historian را نصب کنید
برای نصب Battery Historian می توانید از Docker استفاده کنید. برای روشهای نصب جایگزین، از جمله ساختن از منبع، به 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
قبل از اجرای تصویر Battery Historian، برنامه Docker Desktop را راه اندازی کنید - که یک رابط رابط کاربری گرافیکی برای Docker است. اجرای این ابزار 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 بروید تا تأیید کنید که در حال اجرا است. آدرس بسته به سیستم عامل شما متفاوت است:
- برای لینوکس و مک
- تاریخچه باتری در
http://localhost: port_number
موجود است. - برای ویندوز
- پس از راه اندازی Docker، آدرس IP دستگاهی که از آن استفاده می کند را به شما می گوید. برای مثال، اگر آدرس IP 123.456.78.90 باشد، Battery Historian در
http://123.456.78.90: port_number
.
سپس صفحه شروع Battery Historian را نشان می دهد، جایی که می توانید آمار باتری را آپلود و مشاهده کنید.
شکل 1. صفحه شروع برای تاریخچه باتری.
با 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، Battery Historian را در مرورگر خود باز کنید. برای مک و لینوکس، Battery Historian در
http://localhost: port_number
اجرا میشود. برای ویندوز، Battery Historian درhttp:// your_IP_address : port_number
اجرا می شود.روی Browse کلیک کنید و سپس فایل گزارش اشکالی که ایجاد کرده اید را انتخاب کنید.
روی ارسال کلیک کنید. Battery Historian نموداری را باز می کند که از داده های Batterystats شما ایجاد شده است.
مشاهده داده ها با نمودارهای تاریخچه باتری
نمودار تاریخچه باتری رویدادهای مرتبط با انرژی را در طول زمان نمودار می کند.
هر ردیف یک بخش نوار رنگی را نشان می دهد که یک جزء سیستم فعال است و بنابراین جریان را از باتری می گیرد. نمودار میزان مصرف باتری توسط مؤلفه را نشان نمی دهد - فقط اینکه آیا برنامه فعال است یا خیر. نمودارها بر اساس دسته بندی سازماندهی می شوند و یک نوار برای هر دسته در طول زمان نشان می دهند، همانطور که در محور x نمودار نمایش داده می شود.
![نمونه ای از نمودار تاریخچه باتری](https://developer.android.com/static/topic/performance/images/batteryhistorian_chart_2x.png?authuser=2&hl=fa)
- معیارهای اضافی را از لیست کشویی اضافه کنید.
- نشانگر را روی نام متریک نگه دارید تا اطلاعات بیشتری در مورد هر معیار، از جمله کلیدی برای رنگ های استفاده شده در نمودار مشاهده کنید.
- نشانگر را روی یک نوار نگه دارید تا اطلاعات دقیقتری درباره آن معیار و آمار باتری در یک نقطه خاص از خط زمانی مشاهده کنید.
خروجی Batterystats اضافی
می توانید اطلاعات اضافی را از فایل batterystats.txt
در بخش آمار بعد از نمودار تاریخچه باتری مشاهده کنید.
![بخش آمار تاریخ باتری](https://developer.android.com/static/topic/performance/images/batteryhistorian_additionalstats_2x.png?authuser=2&hl=fa)
برگه 1 System Stats شامل آمارهای کل سیستم، مانند سطوح سیگنال سلولی و روشنایی صفحه نمایش است. این اطلاعات تصویری کلی از آنچه در دستگاه اتفاق می افتد ارائه می دهد. این به ویژه برای اطمینان از اینکه هیچ رویداد خارجی روی تست شما تأثیر نمی گذارد مفید است.
برگه 2 App Stats شامل اطلاعاتی در مورد برنامه های خاص است. لیست برنامه ها را با استفاده از 3 مرتب سازی برنامه ها بر اساس لیست کشویی در صفحه انتخاب برنامه مرتب کنید. می توانید یک برنامه خاص را برای مشاهده آمار استفاده از لیست کشویی 4 برنامه انتخاب کنید.