قفلهای بیداری جزئی مکانیزمی در رابط برنامهنویسی کاربردی PowerManager هستند که به توسعهدهندگان اجازه میدهند پس از خاموش شدن صفحه نمایش دستگاه (چه به دلیل تایماوت سیستم یا فشار دادن دکمه پاور توسط کاربر)، پردازنده را در حال کار نگه دارند. برنامه شما با فراخوانی acquire() به همراه پرچم PARTIAL_WAKE_LOCK یا با استفاده از سایر APIهایی که قفلهای بیداری را به دست میآورند ، قفل بیداری جزئی را به دست میآورد. استفاده بیش از حد از قفلهای بیداری جزئی، باتری دستگاه را تخلیه میکند زیرا از ورود دستگاه به حالتهای کممصرفتر جلوگیری میکند. قفلهای بیداری جزئی باید فقط در صورت لزوم استفاده شوند و به محض اینکه دیگر نیازی به آنها نباشد، آزاد شوند.
اگر برنامه شما بیش از حد از قفلهای بیداری جزئی استفاده میکند، میتوانید از راهنماییهای این صفحه برای تشخیص و رفع مشکل استفاده کنید.
مشکل را برطرف کنید
از آنجا که قفلهای بیدارباش میتوانند باتری دستگاه را خالی کنند، در صورت وجود جایگزین، نباید از قفلهای بیدارباش استفاده کنید. مستندات «انتخاب API مناسب برای بیدار نگه داشتن دستگاه» میتواند به شما در یافتن بهترین راهحل برای برنامهتان کمک کند.
اگر نیاز به استفاده از قفل بیدارباش دارید، از بهترین شیوههای قفل بیدارباش پیروی کنید تا مطمئن شوید قفلهای بیدارباش به کارایی دستگاه آسیب نمیرسانند. به طور خاص، مطمئن شوید که هر دستگاهی که تهیه میکنید، آزاد است و قفل را در اسرع وقت آزاد کنید.
ممکن است برنامه شما از قفلهای بیداری استفاده کند، حتی اگر صریحاً قفل بیداری را دریافت نکرده باشید. اگر قفلهای بیداری را مشاهده کردید که به برنامه نسبت داده شدهاند و آنها را نمیشناسید، شناسایی قفلهای بیداری ایجاد شده توسط سایر APIها میتواند به شما در شناسایی APIهایی که ممکن است آنها را ایجاد کرده باشند، کمک کند.
پس از رفع مشکل در کد، میتوانید با استفاده از ابزارهای اشکالزدایی قفل بیداری محلی ، اصلاحات خود را تأیید کنید.
همچنین ببینید
- قفلهای بیداری جزئی گیر کردهاند
- API مناسب را برای بیدار نگه داشتن دستگاه انتخاب کنید
- مستندات قفل بیداری
برای شما توصیه میشود
- توجه: متن لینک زمانی نمایش داده میشود که جاوا اسکریپت غیرفعال باشد.
- قابهای یخزده
- اجرای بنچمارکها در یکپارچهسازی مداوم
- ایجاد و اندازهگیری پروفایلهای پایه بدون Macrobenchmark