ApplicationNotResponding: ANR in LifecycleMonitorAndroid
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Domaine
- mobile, performance
Piste de recherche
Commencez par LifecycleMonitorAndroid.updateLifecycleState et suivez l’enregistrement de ActivityLifecycleCallbacks déclenché après la définition de MapboxOptions.accessToken. Reproduisez le problème avec une initialisation Application.onCreate et une activity sans MapView ; c’est terminé lorsque la reprise de l’activity ne provoque plus d’ANR sur le thread principal.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Environment
- Android OS version: 16
- Devices affected: Samsung SM-F966U1
- Maps SDK Version: 11.17.1
Observed behavior and steps to reproduce
ANR in LifecycleMonitorAndroid.updateLifecycleState() during activity resume
The app experiences ANRs when any activity resumes, even activities that don't contain a MapView. The ANR occurs in Mapbox's internal lifecycle monitoring.
Stack trace:
io.sentry.android.core.ApplicationNotResponding: ANR
at com.mapbox.common.LifecycleMonitorAndroid.updateLifecycleState(unavailable:0)
at com.mapbox.common.LifecycleMonitorAndroid.access$updateLifecycleState(unavailable:0)
at com.mapbox.common.LifecycleMonitorAndroid$lifecycleServiceCallback$1.onLifecycleStateChanged(unavailable:7)
at com.mapbox.common.LifecycleService.updateLifecycleState(unavailable:13)
at com.mapbox.common.LifecycleService.getLifecycleState(SourceFile:12)
at com.mapbox.common.LifecycleService.registerActivityWithState(unavailable:111)
at com.mapbox.common.LifecycleService.access$registerActivityWithState(unavailable:0)
at com.mapbox.common.LifecycleService$callback$1.onActivityResumed(unavailable:10)
at android.app.Application.dispatchActivityResumed(Application.java:450)
at android.app.Activity.dispatchActivityResumed(Activity.java:1686)
at android.app.Activity.onResume(Activity.java:2287)
at androidx.fragment.app.FragmentActivity.onResume(unavailable:5)
at com.example.app.onboarding.OnboardingActivity.onResume(unavailable:0)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1720)
at android.app.Activity.performResume(Activity.java:9691)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:6162)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:6265)
...
Steps to reproduce:
- Initialize Mapbox SDK in
Application.onCreate()by settingMapboxOptions.accessToken - Launch any activity (doesn't need to contain a MapView)
- Observe ANR during
onResume()in Mapbox's lifecycle callback
Expected behavior
LifecycleMonitorAndroid.updateLifecycleState() should not block the main thread and cause ANRs. Lifecycle state updates should be fast and non-blocking, or performed asynchronously.
Notes / preliminary analysis
- It rarely happens
- The ANR occurs in activities that have no MapView or map-related functionality
- Once
MapboxOptions.accessTokenis set, Mapbox registersActivityLifecycleCallbacksthat run on every activity lifecycle event - The
updateLifecycleState()method appears to perform blocking operations - There is no API available to disable or configure this automatic lifecycle monitoring
- This affects user experience even when maps are not being displayed
Additional links and references
- Related to lifecycle monitoring introduced in Mapbox Maps SDK v11
- Using
com.mapbox.maps:android-ndk27:11.17.1
- Langage dominant
- Kotlin
- Étoiles
- 578
- Forks
- 163
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de mapbox/mapbox-maps-android
-
bug :beetle:
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
mapbox/mapbox-maps-android#2727 ·
-
bug :beetle:
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 22/100
mapbox/mapbox-maps-android#2734 · 1 réaction ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
mapbox/mapbox-maps-android#2733 ·
-
Pins Flicker During Zoom OutOuvertebug :beetle:
Difficulté 4/5 3-5 jours Accessibilité débutants 50/100
mapbox/mapbox-maps-android#2732 ·
-
[R8] Maps and Search SDK consumer rules apply app-wide and significantly restrict optimizationOuverteauto-triaged bug :beetle:
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
mapbox/mapbox-maps-android#2731 · 4 réactions ·
Toutes les issues de mapbox/mapbox-maps-android
Issues similaires
-
afk-ok area:data-quality importer size:S
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
enorm-labs/event-junkie#3027 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
libre-tube/LibreTube#8854 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
rustyrazorblade/easy-db-lab#1003 ·
Les mainteneurs répondent en général sous 1 jour