it-swarm.com.de

Fragment-Lebenszyklus: Wann werden "ondestroy" und "ondestroyview" nicht aufgerufen?

Stellen Sie sich folgendes Szenario vor: Ich habe eine Fragment in einer Pager. Ich versuche, zu anderen Apps zu wechseln, damit die Activity, die meinem Pager (und meinem Fragment) gehört, gestoppt und schließlich vorübergehend zerstört werden.

Wenn ich zu meiner Aktivität zurückkehre, werden die Rückrufe Fragment, onCreate usw. der oncreateview aufgerufen. Aber keiner der Rückrufe des Fragments onDestroy wurde zuvor aufgerufen! Es scheint, dass nach "onStop" das Fragment sofort zerstört wird. Ist es ein normales Verhalten? Liegt es vielleicht daran, dass die Activity zerstört wird, ohne dass die onDestroy aufgerufen wird?

31
Bertuz

Schauen Sie sich diese Frage an: Warum onDestroy () implementieren, wenn der Aufruf nicht garantiert ist?

Grundsätzlich wird onDestroy () garantiert nur aufgerufen, wenn Sie finish () aufrufen. Andernfalls wird onDestroy () möglicherweise erst aufgerufen, wenn das System dies für erforderlich hält. Vielleicht möchten Sie Ihre "schließende" Logik stattdessen in onPause () oder onStop () einfügen.

39
invertigo