2015-07-22 1 views
1

Je reçois la trace de pile suivante lorsque je passe rapidement d'un fragment à un autre (transaction Fragment sans ajout au backstack). (5 fragments par seconde). Une idée de pourquoi cela se produit?Exception de dépassement de pile lors d'un déplacement très rapide entre les fragments

java.lang.StackOverflowError 
     at android.support.v4.app.FragmentActivity.onPrepareOptionsPanel(FragmentActivity.java:472) 
     at android.support.v4.app.FragmentActivity.onPreparePanel(FragmentActivity.java:461) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onPreparePanel(AppCompatDelegateImplBase.java:294) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(ToolbarActionBar.java:541) 
     at android.support.v7.internal.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:89) 
     at android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper.onPreparePanel(Too 
+0

avez-vous trouvé une solution à ce problème? – ThiyagaB

Répondre

0

StackOverflowError se produit lorsque votre application obtient en boucle infinie. Dans votre sortie, nous pouvons voir que onPreparePanel est appelé plusieurs fois avant d'attraper l'erreur.

Essayez de vérifier ce qui ne va pas avec onPreparePanel et ce qui pourrait le déclencher afin qu'il commence à boucler.

+0

Merci pour la réponse. Le onPreparePanel fait partie de la bibliothèque de support android et je n'ai pas de surcharge spécifique dans mon application. Et il n'y a pas de boucles que j'utilise pour passer à différents fragments. Je reçois seulement l'erreur quand je change les fragments manuellement très rapidement. Et il semble que je ne reçois pas l'erreur si je déplace des fragments lentement. – benjosantony

+1

Une autre chose à noter est que je définis la barre d'action (Using ToolBar) pour chacun des nouveaux fragments que je crée (ce qui est nécessaire pour mon application car je veux que la barre d'outils se déplace avec les transitions entre les fragments) . – benjosantony

+0

Je suis désolé, je ne suis pas habitué à travailler avec ToolBar, mais je pense que la mise à jour de la barre d'action avec chaque nouveau fragment peut être le problème. Malheureusement je ne suis pas sûr, comment le résoudre. Vous dites que cela ne se produit que lorsque vous manipulez des fragments rapidement, donc peut-être ajouter un peu de retard avant de mettre à jour la barre d'action aiderait ?? :-) –