Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

ApplicationNotResponding: ANR in LifecycleMonitorAndroid

Ouverte
#2,709 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
Stack technique
android, kotlin
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

bug :beetle:

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:

  1. Initialize Mapbox SDK in Application.onCreate() by setting MapboxOptions.accessToken
  2. Launch any activity (doesn't need to contain a MapView)
  3. 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.accessToken is set, Mapbox registers ActivityLifecycleCallbacks that 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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de mapbox/mapbox-maps-android

Toutes les issues de mapbox/mapbox-maps-android

Issues similaires

Plus d'issues Kotlin

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.