jdk.internal.misc.Unsafe.park(本机方法)在 Android 应用程序中崩溃

Roc*_*bal 27 java architecture crash android android-activity

我在 android 应用程序 jdk.internal.misc.Unsafe.park (本机方法)中面临这个问题

stackoverflow 中有几个答案,但我需要以 android 特定的方式

main (waiting): tid=1 systid=14525 
   at jdk.internal.misc.Unsafe.park(Native method)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:917)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1240)
   at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:267)
   at com.google.android.gms.common.api.internal.zabe.zai(com.google.android.gms:play-services-base@@18.0.1:1)
   at com.google.android.gms.common.api.internal.zabd.zaa(com.google.android.gms:play-services-base@@18.0.1:2)
   at com.google.android.gms.common.api.internal.zabx.onReceive(com.google.android.gms:play-services-base@@18.0.1:4)
   at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1752)
   at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run(unavailable:2)
   at android.os.Handler.handleCallback(Handler.java:938)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loopOnce(Looper.java:233)
   at android.os.Looper.loop(Looper.java:344)
   at android.app.ActivityThread.main(ActivityThread.java:8191)
   at java.lang.reflect.Method.invoke(Native method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
Run Code Online (Sandbox Code Playgroud)

小智 0

我也遇到这个问题了。就我而言,这是由于未正确请求位置而导致的 ANR。我正在使用一个过时的库来做到这一点。当我搬出图书馆并使用 Android 推荐的方式来查询当前位置时,它工作得很好。

有问题的库: https: //github.com/mcharmas/Android-ReactiveLocation

Android推荐的查询当前位置的方式:https ://developer.android.com/training/location/retrieve-current