مصرف انرژی را با Energy Profiler بررسی کنید

Energy Profiler به شما کمک می کند تا مکان هایی را که برنامه شما بیش از حد لازم مصرف می کند، پیدا کنید.

Energy Profiler استفاده از CPU، رادیو شبکه و سنسور GPS را نظارت می کند و تصویری از میزان مصرف انرژی هر یک از این اجزا را نمایش می دهد. نمایه انرژی همچنین رخدادهای سیستم (wake lock، آلارم، مشاغل و درخواست های مکان) را به شما نشان می دهد که می توانند بر مصرف انرژی تأثیر بگذارند.

پروفیل انرژی به طور مستقیم مصرف انرژی را اندازه گیری نمی کند. بلکه از مدلی استفاده می کند که مصرف انرژی را برای هر منبع روی دستگاه تخمین می زند.

نمای کلی انرژی

هنگامی که برنامه خود را روی دستگاه متصل یا شبیه ساز Android دارای Android نسخه 8.0 (API 26) یا بالاتر اجرا می کنید، نمایه انرژی به عنوان یک ردیف در پنجره Profiler ظاهر می شود.

برای باز کردن پروفیل انرژی، مراحل زیر را دنبال کنید:

  1. View > Tool Windows > Profiler را انتخاب کنید یا روی Profile کلیک کنید در نوار ابزار

    اگر از کادر گفتگوی Select Deployment Target خواسته شد، دستگاهی را انتخاب کنید که برنامه خود را برای نمایه سازی در آن مستقر کنید. اگر دستگاهی را از طریق USB وصل کرده اید اما آن را در لیست نمی بینید، مطمئن شوید که اشکال زدایی USB را فعال کرده اید.

  2. روی هر نقطه از جدول زمانی انرژی کلیک کنید تا نمایه انرژی باز شود.

هنگامی که نمایه‌گر انرژی را باز می‌کنید، فوراً شروع به نمایش مصرف تخمینی انرژی برنامه شما می‌کند. شما باید چیزی شبیه به شکل 1 ببینید.

شکل 1. جدول زمانی در نمایه ساز انرژی.

همانطور که در شکل 1 نشان داده شده است، نمای پیش فرض برای نمایه ساز انرژی شامل جدول زمانی زیر است:

  1. جدول زمانی رویداد: فعالیت‌های برنامه شما را هنگام انتقال به حالت‌های مختلف در چرخه عمر خود نشان می‌دهد. این جدول زمانی همچنین تعاملات کاربر با دستگاه، از جمله رویدادهای چرخش صفحه نمایش را نشان می دهد.
  2. جدول زمانی انرژی: مصرف انرژی تخمینی برنامه شما را نشان می دهد.
  3. جدول زمانی سیستم: رویدادهای سیستم را نشان می دهد که ممکن است بر مصرف انرژی تأثیر بگذارد.

برای مشاهده تفکیک مصرف انرژی توسط منابع CPU، شبکه و مکان (GPS) و همچنین رویدادهای مربوط به سیستم، نشانگر ماوس خود را روی نواری در جدول زمانی انرژی قرار دهید.

رویدادهای سیستم را بررسی کنید: wake lock ها، مشاغل و هشدارها

می‌توانید از «پروفایلر انرژی» برای یافتن رویدادهای سیستمی که می‌توانند بر مصرف انرژی تأثیر بگذارند، از جمله قفل‌های بیدار، کارها و هشدارها استفاده کنید:

  • Wake lock مکانیزمی برای روشن نگه داشتن CPU یا صفحه نمایش در زمانی است که دستگاه در غیر این صورت به حالت خواب می رود. به عنوان مثال، برنامه‌ای که ویدیو پخش می‌کند ممکن است از wake lock برای روشن نگه داشتن صفحه نمایش در زمانی که کاربر تعاملی با دستگاه ندارد استفاده کند. درخواست wake lock یک اقدام انرژی بر نیست، اما عدم آزاد کردن wake lock می‌تواند باعث شود صفحه نمایش یا CPU برای مدت طولانی‌تری روشن بماند که می‌تواند باتری را به سرعت تخلیه کند. برای اطلاعات بیشتر، به راهنمای کار با wake lock مراجعه کنید.

  • می‌توانید از آلارم‌ها برای اجرای کارهای پس‌زمینه خارج از زمینه برنامه‌تان در فواصل زمانی منظم استفاده کنید. وقتی زنگ هشدار به صدا در می‌آید، ممکن است دستگاه را بیدار کند و کد پر انرژی را اجرا کند. برای اطلاعات بیشتر، به راهنمای کار با آلارم ها مراجعه کنید.

  • می‌توانید از کارها برای انجام اقدامات تحت شرایط مشخص، مانند زمانی که شبکه در دسترس می‌شود، استفاده کنید. شما با JobBuilder شغل ایجاد می کنید و آنها را با JobScheduler زمان بندی می کنید. در بسیاری از موارد، رویکرد توصیه شده استفاده از مشاغل با JobScheduler به جای زنگ هشدار یا قفل بیدار است.

  • درخواست‌های مکان از حسگر GPS استفاده می‌کنند که می‌تواند مقادیر قابل توجهی انرژی مصرف کند. برای کسب اطلاعات در مورد نحوه درخواست مکان کم مصرف، به بهینه سازی مکان برای باتری مراجعه کنید.

Energy Profiler پیدا کردن جایی که برنامه شما از هر یک از این ویژگی‌ها استفاده می‌کند را آسان می‌کند تا بتوانید درباره نحوه استفاده از هر کدام تصمیمات آگاهانه بگیرید.

نمایه انرژی یک نوار رنگی را در جدول زمانی سیستم در زیر جدول زمانی انرژی برای محدوده زمانی که یک رویداد سیستم فعال است نشان می دهد. Wake lock با نوار قرمز، مشاغل و هشدارها با نوار زرد و رویدادهای مکان با نوار بنفش روشن نشان داده می شوند.

شکل 2 نمایه‌گر انرژی و ویرایشگر کد را نشان می‌دهد که روی کد منبع مسئول یک قفل بی‌پرده منتشر نشده باز است.

شکل 2. استفاده از پروفیل انرژی برای یافتن قفل بیدار.

  1. برای باز کردن صفحه رویداد سیستم و نمایش جزئیات رویدادهایی مانند قفل بیدار شدن، یک محدوده زمانی را در جدول زمانی انرژی انتخاب کنید.
  2. برای باز کردن بخش جزئیات Wake Lock و نشان دادن جزئیات مربوط به یک قفل خاص، wake lock را در صفحه رویداد سیستم انتخاب کنید.
  3. برای باز کردن ویرایشگر کد و رفتن به کد منبع برای wake lock، روی ورودی روش تماس در بالای پشته تماس در قسمت جزئیات Wake Lock دوبار کلیک کنید.
  4. فراخوان دریافت wake lock در ویرایشگر منبع برجسته می شود.

دستورالعمل‌های نمایش جزئیات سایر رویدادهای سیستم اساساً مانند wake lock‌ها هستند و اطلاعات مختص به هر نوع رویداد در قسمت جزئیات آن وجود دارد. به عنوان مثال، پنجره جزئیات کار ، پشته های تماس را برای بخش هایی از کد که در آن کار برنامه ریزی شده است و جایی که کار به پایان رسیده است، نشان می دهد.