MapView.onCreate ANR

问题描述 投票:0回答:1

我们遇到了 Play Console 和 Firebase Crashlytics 上报告的大量 ANR。 两者的堆栈跟踪都指向 Google 地图中的同一类 MapView。 我正在分享我们在 Firebase Crashlytics 中获得的堆栈跟踪。

设备:75% Vivo 9% 小米 13% oppo 3% 操作系统:58% android11 32% android12 10%

SDK版本:play-services-maps 19.0.0 播放服务位置 21.3.0 播放服务广告 23.3.0

[在此输入图片描述](https://i.sstatic.net/D2hGfk4E.png)

日志:

主(可运行):tid=1 systid=16033 在 com.google.maps.api.android.lib6.phoenix.am.run(:com.google.android.gms.policy_maps_core_dynamite@[电子邮件受保护]:507) 在 com.google.maps.api.android.lib6.impl.cg.aG(:com.google.android.gms.policy_maps_core_dynamite@[电子邮件受保护]:52) 在 com.google.maps.api.android.lib6.impl.ee.d(:com.google.android.gms.policy_maps_core_dynamite@[电子邮件受保护]:24) 在 com.google.android.gms.maps.internal.r.bt(:com.google.android.gms.policy_maps_core_dynamite@[电子邮件受保护]:158) 在 m.axu.onTransact(:com.google.android.gms.policy_maps_core_dynamite@[电子邮件受保护]:21) 在 android.os.Binder.transact(Binder.java:1043) 在 com.google.android.gms.internal.maps.zza.zzc(zza.java:2) 在 com.google.android.gms.maps.internal.zzl.onCreate(zzl.java:3) 在 com.google.android.gms.maps.zzah.onCreate(com.google.android.gms:play-services-maps@@19.0.0:3) 在 com.google.android.gms.dynamic.zac.zab(com.google.android.gms:play-services-base@@18.4.0:1) 在 com.google.android.gms.dynamic.zaa.onDelegateCreated(zaa.java:3) 在 com.google.android.gms.maps.zzai.zzb(com.google.android.gms:play-services-maps@@19.0.0:5) 在 com.google.android.gms.maps.zzai.createDelegate(com.google.android.gms:play-services-maps@@19.0.0:1) 在 com.google.android.gms.dynamic.DeferredLifecycleHelper.zaf(com.google.android.gms:play-services-base@@18.4.0:6) 在 com.google.android.gms.dynamic.DeferredLifecycleHelper.onCreate(DeferredLifecycleHelper.java:1) 在 com.google.android.gms.maps.MapView.onCreate(com.google.android.gms:play-services-maps@@19.0.0:4) 在gpsmapcamera.timestampcamera.geotagphoto.gpscamera.module.main.MainActivity.setStampView(MainActivity.kt:3698) 在gpsmapcamera.timestampcamera.geotagphoto.gpscamera.module.main.MainActivity.setActityView(MainActivity.kt:1693) 在 gpsmapcamera.timestampcamera.geotagphoto.gpscamera.common.BaseActivity.onCreate(BaseActivity.kt:40) 在 android.app.Activity.performCreate(Activity.java:8119) 在 android.app.Activity.performCreate(Activity.java:8103)

如何避免此类ANR

google-maps oncreate mapview anr
1个回答
0
投票

代码:

// Google Map View
mMapView = findViewById(R.id.map_view)
// Google Map View
 mMapView = findViewById(R.id.map_view)
// Google Map Key
val mapKey = BuildConfig.MAPS_API_KEY
if(mapKey.isNotEmpty()){
    val mapViewBundle = savedInstanceState?.getBundle(mapKey)
    mMapView.onCreate(mapViewBundle)
}
mMapView.getMapAsync(this)
// FusedLocationProviderClient
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
// 
mGeocoder = Geocoder(this, Locale.getDefault())
© www.soinside.com 2019 - 2024. All rights reserved.