2016-08-30 3 views
5

genannt wird Ich habe zwei Fragmente A & B.
I gewechselt haben von A unter Verwendung von folgenden Code B:Bildschirm bleibt, wenn popBackStack()

FragmentManager fragmentManager; 
    FragmentTransaction transaction; 
    fragmentManager = getActivity().getFragmentManager(); 
    transaction = fragmentManager.beginTransaction(); 
    transaction.setCustomAnimations(R.animator.enter_anim, R.animator.exit_anim,R.animator.popenter, R.animator.popexit); 
    transaction.replace(R.id.fragmentLayout, new B()) 
      .addToBackStack("tag").commit(); 

B SQLite Operationen (SugarORM) enthält.
Während der Wechsel von A nach B bleibt der Bildschirm hängen, auch wenn ich AsyncTask & IntentService für db-Operationen verwende.
Wenn ich die Taste [getFragmentManager().popBackStack();] drücke, bleibt der Bildschirm für ein paar Sekunden stehen, bevor er von A auf A zurückschaltet.
Die Animation ist ebenfalls nicht sichtbar.
Ich versuchte, unbestimmten Fortschrittsbalken & Animation-Liste in Bildansicht zu zeigen, aber sie frieren auch & es sieht aus, als ob sie statische Bilder sind.

+1

Überprüfen Sie, ob Ihr FRAGMENT A irgendwelche blockierenden Aufrufe in onCreateView/onViewCreated hat. –

+0

poste deine AsyncTask. und Sie können Animation sehen, indem Sie die Verzögerung erhöhen. – Nepster

+0

loggen Sie alle Ihre Methoden in beide Fragmente ein und Sie können herausfinden, indem Sie Protokolle überprüfen, während denen zwei Prozesse (zwischen denen 2 Protokolle) so lange Zeit genommen wird und Sie den Grund beheben können (besonders in onResume oder in onPause) wenn möglich Fügen Sie den Code ein. –

Antwort

1

Sie in diesem Artikel auf dem Hauptthread Profilierungs: https://developer.android.com/studio/profile/traceview.html

Dies wird Ihnen zeigen, was den Hauptthread ist hogging, was wahrscheinlich der Grund für die Gefriert ist.

Folgen Sie auch dem Ratschlag von @ NishantPardamwar, um die Lebenszyklusmethoden des Fragments zu überprüfen, die auf dem Hauptthread ausgeführt werden und wahrscheinlich Täter sind.

Verwandte Themen