ویک لاک های جزئی گیر کرده است

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

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

مشکل را برطرف کنید

از آنجا که قفل‌های بیدارباش می‌توانند باتری دستگاه را خالی کنند، در صورت وجود جایگزین، نباید از قفل‌های بیدارباش استفاده کنید. مستندات «انتخاب API مناسب برای بیدار نگه داشتن دستگاه» می‌تواند به شما در یافتن بهترین راه‌حل برای برنامه‌تان کمک کند.

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

پس از رفع مشکل در کد، می‌توانید با استفاده از ابزارهای اشکال‌زدایی قفل بیداری محلی ، اصلاحات خود را تأیید کنید.

همچنین ببینید

{% کلمه به کلمه %} {% فعل کمکی %} {% کلمه به کلمه %} {% فعل کمکی %}