我的Android应用程序有像下面崩溃报告。(很少见)激活锁定在锁定GCM_LIB
java.lang.RuntimeException: WakeLock under-locked GCM_LIB
at android.os.PowerManager$WakeLock.release(PowerManager.java:325)
at android.os.PowerManager$WakeLock.release(PowerManager.java:300)
at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:252)
像java.lang.RuntimeException: WakeLock under-locked C2DM_LIB,我可以尝试〜捕或使用isHeld()
,但我不确定这是最好的解决方案,我想知道为什么会发生这种情况。
一些猜测是BroadcastReceiver和Service在不同的过程 喜欢http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4。
但这是可能的吗?我从来没有在清单中使用android:process,所以BroadcastReceiver和Service应该在同一个(主)进程中,不是吗?
您是否使用acquire(timeout)方法来获取唤醒锁? – edoardotognoni 2013-04-30 13:00:28
它被复制:http://stackoverflow.com/a/12142013/450148 – 2013-09-19 19:07:42