我的安卓应用程序收到了以下崩溃报告。(非常罕见)
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一样,我可以尝试使用try~catch或isHeld()来解决问题,但我不确定这是否是最佳解决方法,并且我想知道为什么会发生这种情况。
有些人猜测BroadcastReceiver和Service在不同的进程中,就像http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4所说的那样。
但这真的可能吗?我从未在清单文件中使用过android:process,因此BroadcastReceiver和Service应该在同一个(主)进程中,是吗?