از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
پروفایل های قدرتمند برای اندروید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اطلاعات استفاده از باتری از آمار مصرف باتری و مقادیر پروفیل توان مشتق شده است.
آمار مصرف باتری
این چارچوب بهطور خودکار آمار مصرف باتری را با ردیابی مدت زمانی که اجزای دستگاه در حالتهای مختلف سپری میکنند، تعیین میکند. از آنجایی که اجزاء (تراشه Wi-Fi، رادیو سلولی، بلوتوث، GPS، نمایشگر، CPU) حالتها را تغییر میدهند (خاموش/روشن، بیحرکت/توان کامل، روشنایی کم/بالا، و غیره)، سرویس کنترل به سرویس BatteryStats چارچوب گزارش میدهد. BatteryStats اطلاعات را در طول زمان جمع آوری می کند و آن را برای استفاده در راه اندازی مجدد ذخیره می کند. این سرویس به طور مستقیم مصرف جریان باتری را ردیابی نمی کند، اما در عوض اطلاعات زمان بندی را جمع آوری می کند که می تواند برای تخمین مصرف باتری توسط اجزای مختلف استفاده شود.
چارچوب با استفاده از روش های زیر آمار را جمع آوری می کند:
- فشار دهید . سرویسهایی که از تغییرات مؤلفه آگاه هستند، تغییرات وضعیت را به سرویس BatteryStats منتقل میکنند.
- بکشید . برای مؤلفههایی مانند استفاده از CPU توسط برنامهها، چارچوب بهطور خودکار دادهها را در نقاط انتقال (مانند شروع یا توقف یک فعالیت) برای گرفتن یک عکس فوری میکشد.
مصرف منابع با برنامه با استفاده از منبع مرتبط است. هنگامی که چندین برنامه به طور همزمان از یک منبع استفاده می کنند (مانند wakelockهایی که از تعلیق سیستم جلوگیری می کنند)، چارچوب مصرف را در آن برنامه ها پخش می کند، اگرچه لزوماً به طور مساوی نیست.
برای جلوگیری از از دست دادن آمار استفاده برای یک رویداد خاموشی، که ممکن است نشان دهنده مشکلات مصرف انرژی باتری باشد (یعنی خاموش شدن به دلیل رسیدن ظرفیت باتری به صفر باقی مانده رخ می دهد)، چارچوب تقریباً هر 30 دقیقه آمار را چشمک می زند.
آمار استفاده از باتری به طور کامل توسط چارچوب کنترل می شود و نیازی به تغییرات OEM ندارد.
مقادیر پروفایل قدرت
احتیاط: سازندگان دستگاه باید مشخصات برق قطعه را ارائه دهند که مقدار مصرف فعلی قطعه و تخلیه تقریبی باتری ناشی از قطعه را در طول زمان مشخص کند. این نمایه در platform/frameworks/base/core/res/res/xml/power_profile.xml تعریف شده است. برای راهنمایی در مورد این تنظیمات، مقادیر قدرت را ببینید.
در پروفیل توان، مصرف برق بر حسب میلی آمپر (mA) جریان در یک ولتاژ اسمی مشخص می شود و می تواند یک مقدار کسری مشخص شده در میکرو آمپر (uA) باشد. مقدار باید mA مصرف شده در باتری باشد و نه یک مقدار قابل اعمال برای ریل برقی که با جریان مصرف شده از باتری مطابقت ندارد.
به عنوان مثال، یک نمایه قدرت نمایشگر، میلی آمپر جریان مورد نیاز برای روشن نگه داشتن صفحه نمایش در حداقل روشنایی و در حداکثر روشنایی را مشخص می کند. برای تعیین هزینه انرژی (یعنی باتری تخلیه شده توسط مؤلفه نمایشگر) روشن نگه داشتن نمایشگر، چارچوب زمان صرف شده در هر سطح روشنایی را ردیابی می کند، سپس آن فواصل زمانی را در هزینه روشنایی نمایشگر درون یابی ضرب می کند.
این چارچوب همچنین زمان CPU را برای هر برنامه در mA مورد نیاز برای اجرای CPU با سرعت خاصی ضرب می کند. این محاسبه یک رتبه بندی مقایسه ای از میزان مصرف باتری یک برنامه با اجرای کد CPU ایجاد می کند (زمان به عنوان برنامه پیش زمینه و زمان کل شامل فعالیت پس زمینه به طور جداگانه گزارش می شود).
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Power profiles for Android\n\nBattery use information is derived from battery use statistics and power profile values.\n\nBattery use statistics\n----------------------\n\nThe framework automatically determines battery use statistics by tracking how long device\ncomponents spend in different states. As components (Wi-Fi chipset, cellular radio, Bluetooth, GPS,\ndisplay, CPU) change states (OFF/ON, idle/full power, low/high brightness, etc.), the controlling\nservice reports to the framework BatteryStats service. BatteryStats collects information over time\nand stores it for use across reboots. The service doesn't track battery current draw directly,\nbut instead collects timing information that can be used to approximate battery\nconsumption by different components.\n\nThe framework gathers statistics using the following methods:\n\n- **Push**. Services aware of component changes push state changes to the BatteryStats service.\n- **Pull**. For components such as the CPU use by apps, the framework automatically pulls the data at transition points (such as starting or stopping an activity) to take a snapshot.\n\nResource consumption is associated with the application using the resource. When multiple\napplications simultaneously use a resource (such as wakelocks that prevent the system from\nsuspending), the framework spreads consumption across those applications, although not necessarily\nequally.\n\nTo avoid losing use statistics for a shutdown event, which may indicate battery power\nconsumption problems (i.e. shutdown occurs because the battery reached zero remaining capacity),\nthe framework flashes statistics approximately every 30 minutes.\n\nBattery use statistics are handled entirely by the framework and do not require OEM\nmodifications.\n\nPower profile values\n--------------------\n\n**Caution:** Device manufacturers must provide a component power\nprofile that defines the current consumption value for the component and the approximate battery\ndrain caused by the component over time. This profile is defined in\n[platform/frameworks/base/core/res/res/xml/power_profile.xml](https://android.googlesource.com/platform/frameworks/base/+/android16-release/core/res/res/xml/power_profile.xml).\nFor guidance on these settings, see [Power Values](/docs/core/power/values).\n\nWithin a power profile, power consumption is specified in milliamps (mA) of current draw at a\nnominal voltage and can be a fractional value specified in microamps (uA). The value should be the\nmA consumed at the battery and not a value applicable to a power rail that does not correspond to\ncurrent consumed from the battery.\n\nFor example, a display power profile specifies the mA of current required to keep the display on\nat minimum brightness and at maximum brightness. To determine the power cost (i.e the battery\ndrained by the display component) of keeping the display on, the framework tracks the time spent at\neach brightness level, then multiplies those time intervals by an interpolated display brightness\ncost.\n\nThe framework also multiplies the CPU time for each application by the mA required to run the\nCPU at a specific speed. This calculation establishes a comparative ranking of how much battery an\napplication consumes by executing CPU code (time as the foreground app and total time including\nbackground activity are reported separately)."]]