From b9e6d6c73b39acc08f5b07e2afc7e36e5982ff46 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sun, 21 Jul 2024 09:45:02 +0800 Subject: [PATCH] =?UTF-8?q?Wakelock=E7=AD=89=E5=BE=85200=E6=AF=AB=E7=A7=92?= =?UTF-8?q?=E5=86=8D=E9=87=8A=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpapp/MicroPhotoService.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java index fb9cfb0a..9fcde168 100644 --- a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java +++ b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java @@ -802,7 +802,7 @@ public class MicroPhotoService extends Service { mWakeLocks.remove(name); if (mWakeLocks.isEmpty()) { - mHander.postDelayed(delayedSleep, 2000); + // mHander.postDelayed(delayedSleep, 2000); } } catch (Exception ex) { ex.printStackTrace(); @@ -811,12 +811,23 @@ public class MicroPhotoService extends Service { if (wl != null) { Log.i(TAG, "Release wakelock:" + name); try { - wl.setReferenceCounted(false); - wl.release(); + final PowerManager.WakeLock finalWl = wl; + wl = null; + mHander.postDelayed(new Runnable() { + @Override + public void run() { + try { + finalWl.setReferenceCounted(false); + finalWl.release(); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + }, 200); + } catch (Exception ex) { ex.printStackTrace(); } - wl = null; } }