2015-07-22 8 views

Antwort

10

Ansicht hat keinen Rückruf (außer finalize(), aber ich glaube nicht, dass Sie das verlangen). Ansicht hat onDetachedFromWindow(), wenn es vom Bildschirm entfernt wird, aber das hängt nicht damit zusammen, dass es zerstört wird - es könnte wieder angebracht werden, die onAttachedToWindow() aufrufen wird.

Fragment hat onDestroyView(), die für Sie nützlicher sein kann. Für die Aktivität gibt es keine gleichwertige Methode. Sie können jedoch onDestroy() verwenden, solange Sie wissen, dass sie möglicherweise nie aufgerufen wird, wenn das System die App unerwartet beendet.

+0

heißt das, dass 'onDestroyView()' aufgerufen wird, wenn das System sich entschließt, meine App unerwartet zu beenden? –

+0

@ RadekKłos Wahrscheinlich nicht. Wenn Sie wissen möchten, ob die Ansicht gerade auf dem Bildschirm angezeigt wird, ist vielleicht ein besserer Rückruf 'View.onDetachedFromWindow()' – Karakuri

+0

Vielen Dank für die Antwort. Ich nehme an, dass 'onDetachedFromWindow()' immer noch nicht aufgerufen wird, wenn das System mich unerwartet beendet, aber es wird zum Beispiel mit 'onDestroy()' of Activity aufgerufen? Ist es richtig? Ich möchte die persönlichen Daten der Ansicht in SharedPreferences speichern, wenn die App beendet wird, und ich möchte dies in diesem View-Objekt tun, nicht in der Aktivität, die diese Ansicht in ihrem Layout hat. –