如何解决MapsInitializer.initialize的ANR?

Kib*_*otu 7 android google-maps

MapsInitializer.initialize 方法强制您在主线程上调用,但它会导致 ANR。

自动记录:

ii: Application Not Responding for at least 5000 ms.
    at android.os.BinderProxy.transactNative(Binder.java)
    at android.os.BinderProxy.transact(Binder.java:511)
    at android.content.ContentProviderProxy.call(ContentProviderNative.java:644)
    at android.content.ContentResolver.call(ContentResolver.java:1447)
    at com.google.maps.api.android.lib6.drd.o.A(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:41)
    at com.google.maps.api.android.lib6.impl.ay.a(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:8)
    at fjj.a(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:1)
    at com.google.android.gms.maps.internal.CreatorImpl.c(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:35)
    at com.google.android.gms.maps.internal.CreatorImpl.logInitialization(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:1)
    at com.google.android.gms.maps.internal.i.bo(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:5)
    at baw.onTransact(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200031.477283333.477283333:4)
    at android.os.Binder.transact(Binder.java:392)
    at js8.A(com.google.android.gms:play-services-maps@@18.1.0:8)
    at h49.N0(com.google.android.gms:play-services-maps@@18.1.0:13)
    at q84.a(com.google.android.gms:play-services-maps@@18.1.0:99)
Run Code Online (Sandbox Code Playgroud)

在非主线程上运行:

 java.lang.IllegalStateException: Method addObserver must be called on the main thread
                                at xy.j(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:0)
                                at xy.b(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:1)
                                at com.google.android.libraries.geo.crash.monitoring.UncleanTerminationDetector.i(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:6)
                                at com.google.android.gms.maps.internal.CreatorImpl.c(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:53)
                                at com.google.android.gms.maps.internal.CreatorImpl.logInitialization(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:1)
                                at com.google.android.gms.maps.internal.i.bm(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:5)
                                at ayk.onTransact(:com.google.android.gms.policy_maps_core_dynamite@223812200@223812200065.477283333.477283333:4)
                                at android.os.Binder.transact(Binder.java:1164)
                                at com.google.android.gms.internal.maps.zza.zzc(com.google.android.gms:play-services-maps@@18.1.0:2)
                                at com.google.android.gms.maps.internal.zze.zzl(com.google.android.gms:play-services-maps@@18.1.0:4)
                                at com.google.android.gms.maps.MapsInitializer.initialize(com.google.android.gms:play-services-maps@@18.1.0:12)
Run Code Online (Sandbox Code Playgroud)