Wake lock جزئی مکانیزمی در PowerManager
API است که به توسعه دهندگان این امکان را می دهد که CPU را پس از خاموش شدن نمایشگر دستگاه (چه به دلیل وقفه زمانی سیستم یا فشار دادن دکمه پاور توسط کاربر) روشن نگه دارند. برنامه شما با فراخوانی acquire()
با پرچم PARTIAL_WAKE_LOCK
، یا با استفاده از سایر APIهایی که wake lock را دریافت میکنند، یک wake lock جزئی دریافت میکند. یک wake lock جزئی اگر زمانی که برنامه شما در پسزمینه اجرا میشود برای مدت طولانی نگه داشته شود (هیچ بخشی از برنامه شما برای کاربر قابل مشاهده نیست) گیر میکند. این وضعیت باتری دستگاه را خالی می کند زیرا از ورود دستگاه به حالت های کم مصرف جلوگیری می کند. وایک لاک های جزئی باید فقط در صورت لزوم استفاده شوند و به محض اینکه دیگر مورد نیاز نباشند آزاد شوند.
اگر برنامه شما یک قفل بیدار جزئی گیر کرده است، می توانید از راهنمایی در این صفحه برای تشخیص و رفع مشکل استفاده کنید.
مشکل را تشخیص دهید
ممکن است همیشه ندانید که wake lock های جزئی برنامه شما گیر کرده است. اگر قبلاً برنامه خود را منتشر کرده اید، Android vitals می تواند به شما کمک کند تا از مشکل آگاه شوید.
حیاتی اندروید
Android vitals میتواند با هشدار دادن به شما از طریق کنسول Play در زمانی که برنامهتان دارای wake locks گیر کرده است، به بهبود عملکرد برنامه شما کمک کند. Android vitals گزارش میکند که wake lockهای جزئی در زمانی که حداقل یک ساعت طول میکشد، گیر میکنند، در حالی که در پسزمینه، قفل بیداری جزئی در یک دوره 24 ساعته رخ میدهد.
تعداد جلسات باتری نمایش داده شده در مجموع برای همه کاربران اندازه گیری شده برنامه است. برای اطلاعات در مورد نحوه جمعآوری دادههای حیاتی Android توسط Google Play، به مستندات کنسول Play مراجعه کنید.
هنگامی که متوجه شدید که برنامه شما قفلهای جزئی wake lock را گیر کرده است، گام بعدی شما رسیدگی به این مشکل است.
مشکل را برطرف کنید
از آنجایی که wake lock می تواند باتری دستگاه را تخلیه کند، اگر جایگزینی وجود دارد، نباید از wake lock استفاده کنید. اسناد Choose API مناسب برای بیدار نگه داشتن دستگاه می تواند به شما کمک کند بهترین راه حل را برای برنامه خود پیدا کنید.
اگر نیاز به استفاده از wake lock دارید، بهترین روشهای wake lock را دنبال کنید تا مطمئن شوید که wake lock شما به کارایی دستگاه آسیب نمیزند. به ویژه، مطمئن شوید که هر دستگاهی که به دست می آورید آزاد شده است و قفل را در اسرع وقت آزاد کنید.
پس از رفع مشکل در کد، می توانید با استفاده از ابزارهای اشکال زدایی wake lock محلی، رفع اشکال خود را تأیید کنید.
همچنین ببینید
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- قاب های یخ زده
- معیارها را در Continuous Integration اجرا کنید
- ایجاد و اندازه گیری پروفایل های پایه بدون Macrobenchmark