我的 android 应用程序得到了如下所示的崩溃报告。(非常罕见)
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 一样,我可以尝试~catch 或使用 isHeld()
但我不确定这是最好的解决方案,我想知道为什么会这样。
一些猜测是 BroadcastReceiver 和 Service 在不同的进程中,比如http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4。
但这甚至可能吗?我从来没有在清单中使用过 android:process,所以 BroadcastReceiver 和 Service 应该在同一个(主)进程中,不是吗?